v-if
v-eles
v-eles-if
v-show
false 隐藏 true显示
`v-if`控制元素是否渲染到页面
v-show
控制元素是否显示(已经渲染了页面)
v-if
适用于操作不是很多的情况 隐藏就是把这个元素删除掉(removeChild)
v-show 频繁操作 隐藏就是display:none
v-for遍历数组(数组里面的值可以是对象 需要值就点出来)
<li v-for='item in list'>{{item}}li>
<li v-for='(item,index) in list'>{{item}}+'----'{{index}}li>
item
每项的数据
index
每项的索引
key的作用:
帮助Vue区分不同的元素,从而提高性能
<li :key='item.id' v-for='(item,index) in list'>{{item}}+'----'{{index}}li>
key的值是唯一的 这样方便vue区分DOM元素 对我们开发者基本没什么影响
v-for遍历对象
<li v-for='(value,key,index) in list'>{{item}}+'----'{{index}}li>
value:数据的值
key:键 数据的名字
index:索引
顺序是固定的
v-for和v-if结合使用
<li v-if='value==12' v-for='(value,key,index) in list'>{{item}}+'----'{{index}}li>'
如果if内的条件是对象中的值 name只有符合这一个条件的数据才能显示出来
代码示例
<body>
<div id="app">
<ul>
<li v-for='item in dataArr'>{{item}}li>
<li v-for='(item,index) in dataArr'>{{item}}----{{index}}li>
<li :key='item.id' v-if='item.age>15' v-for='item in dataObjArr'>{{item.name}}----{{item.age}}li>
ul>
<ol>
<li v-for='(value,key,index) in dataObj'>{{value}}---{{key}}---{{index}}lis>
ol>
div>
<script src="./js/vue.js">script>
<script>
var vm = new Vue({
el: '#app',
data: {
dataArr: [
'q', 'w', 'e', 'r'
],
dataObjArr: [
{
id: 1,
name: 'zhangsan',
age: 15
},
{
id: 2,
name: 'lisi',
age: 16
},
{
id: 3,
name: 'wanwu',
age: 20
}
],
dataObj: {
name: '112233',
age: '6666'
}
}
})
script>
body>
输出结果
q
w
e
r
q----0
w----1
e----2
r----3
lisi----16
wanwu----20
112233—name—0
6666—age—1