vue之条件和列表渲染

极大的解放双手,如果你有用过纯粹的JS去写数据列表渲染(你可能会说,也不是特别麻烦啊),但是一定没有这么简单明了,更甚至容易懂,这也是为什么说Vue相对更加简单,它以屏蔽底层复杂的逻辑实现,以抽离通用,一旦抽离意味着简单化。如果你写过react一定会直呼内行,vue封装的完整性。

v-for && v-if

v-for 循环数组或者对象,这其实不用说太多,注意一些细节,key值的榜单,尽量不是index

<!-- 
1. 推荐遍历对象用in,遍历数组用of
2. (item, index) in items || item in items 两者都可,但是对于数组index是下标, 对象pro是属性名
3. key绑定不要是index,注意数组的时候,所以一般是个嵌套的对象
4. 没有外套的循环或者条件判断 template => 但是注意,这个template不能是最外层,必须有最外层元素
5. v-for和v-if使用是v-for优先级高
6. 两个指令不限于普通元素,可用于组件
-->
<div v-for="(item, pro) in items" :key="item.id"></div> 
<div v-for="(el, index) of arrs" :key="item.id"></div>

实践操作

var vm = new Vue({
  el: '#app',
  name: 'App',
  data: function(){
  	return {
  		itemArrs: [
	  		{id: 1, name: 'zix1'},
	  		{id: 2, name: 'zix2'} ,
	  		{id: 3, name: 'zix3'} ,
	  		{id: 4, name: 'zix4'} 
		]
  	}
  },
  template: `
  <div id="app">
    这是app组件
	<div v-for="(item, index) of itemArrs" :key="item.id">
		<!-- 对象的属性没有重复的 -->
		<div v-for="(value, pro) in item" :key="pro">{{value}}</div> 
	</div>
  </div>
  `
})

template不需要渲染父节点 div或其它元素

{
	template: `
  	<div id="app">
      这是app组件
	  <div v-for="(item, index) of itemArrs" :key="item.id">
		<!-- 对象的属性没有重复的 -->
		<template v-for="(value, pro) in item" :key="pro">
			{{value}}
		</template>
	  </div>
    </div>
    `
}

附录

要学习Vue事件机制的可以点击这里哦Vue事件处理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值