预期:Array | Object | number | string | Iterable (2.6 新增)
用法:
基于源数据多次渲染元素或模板块。此指令之值,必须使用特定语法 alias in expression,为当前遍历的元素提供别名,另外也可以为数组索引指定别名 (或者用于对象的键)。
(其实就是遍历数组)
语法:
<li v-for="item in message">{{item}}</li><li v-for="(item,index) in message">{{item}}-{{index}}</li>具体情况如下:
<div id="app"> <ul> <li v-for="item in message">{{item}}</li> </ul> </div>message为数组名,item为自定义名称,不过item in 数组名要和{{item}}相符。
<script> const app=new Vue({ el:'#app', //用于管理要挂载的数据 data:{ //定义数据 message:['藤原千花','四宫辉夜','白银御行'] } }); </script>结果如下: 除去数组元素,也可以显示数组索引(index),代码如下:
<div id="app"> <ul> <li v-for="(item,index) in message">{{item}}-{{index}}</li> </ul> </div>结果如下:
与数组类似。不同的是,在第二个参数上,不是index索引,而是name键名,第三个参数为index索引。 如下所示:
<div id="app"> <ul> <li v-for="(value,name,index) in object">{{value}}-{{name}}-{{index}}</li> </ul> </div>官方推荐使用v-for指令时,绑定一个key属性。
key的意义在于更高效的更新虚拟DOM。
语法: <div v-for="item in items" v-bind:key="item.id"> <!-- 内容 --> </div> 意义 由于Diff算法; 无:key属性时,状态默认绑定的是位置; 有:key属性时,状态根据key的属性值绑定到了相应的数组元素。 (具体情况待补充)