列表渲染

基本用法
我们用v-for指令根据一组数组的选项列表进行渲染。v-for指令需要以item in items形式的特殊语法,items是源数据数组并且item是数组元素迭代的别名。

  • {{ item.message }}

var example1 = new Vue({ el: '#example-1', data: { items: [ {message: 'Foo' }, {message: 'Bar' } ] } }) // 渲染出FooBar

【列表渲染】v-for还支持一个可选的第二个参数index为当前项的索引:
  • {{ parentMessage }} - {{ index }} - {{ item.message }}

var example2 = new Vue({ el: '#example-2', data: { parentMessage: 'Parent', items: [ { message: 'Foo' }, { message: 'Bar' } ] } }) // 渲染结果: Parent-0-FooParent-1-Bar

也可以用of替代in作为分隔符,因为它是最接近 JavaScript 迭代器的语法:

对象迭代
可以用v-for通过一个对象的属性来迭代。
  • {{ value }}

new Vue({ el: '#repeat-object', data: { object: { firstName: 'John', lastName: 'Doe', age: 30 } } }) // 遍历出对象属性值: John Doe 30

也可以提供第二个的参数key为键名(属性名),第三个参数index为索引:
{{ key }} : {{ value }}

{{ index }}. {{ key }} : {{ value }}

v-for 和 v-if
v-if用于条件渲染,当它们处于同一节点,v-for的优先级比v-if更高,这意味着v-if将分别重复运行于每个v-for循环中。
如果你的目的是有条件地跳过循环的执行,那么将v-if置于包装元素 或