当前位置: 首页 > 文档资料 > Vue.js 教程 >

1.8.1 数组的 v-for

优质
小牛编辑
161浏览
2023-12-01

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

<ul id="example-1">
  <li v-for="item in items">{{ item.message }}</li>
</ul>

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

结果:

  • {{ item.message }}

v-for块中,我们拥有对父作用域属性的完全访问权限。v-for还支持一个可选的第二个参数为当前项的索引。

<ul id="example-2">
  <li v-for="(item, index) in items">
    {{ parentMessage }} - {{ index }} - {{ item.message }}
  </li>
</ul>

var example2 = new Vue({
  el: '#example-2',
  data: {
    parentMessage: 'Parent',
    items: [
      { message: 'Foo' },
      { message: 'Bar' }
    ]
  }
})

结果:

  • {{ parentMessage }} - {{ index }} - {{ item.message }}

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

<div v-for="item of items"></div>