循环
Vue 也提供了用于循环的指令,可以基于数组等数据重复渲染部分模板。
渲染出的 HTML:
v-for
v-for
用于重复渲染部分模板内容,其数据可以是数组、对象、数值、文本或其他可迭代数据:
v-for
中声明的局部变量可以在当前元素/组件,以及子元素/组件中使用:
:key
为了让 Vue 有效地跟踪 v-for
渲染出的每个元素,需要为元素添加 key
属性:
key
的值一般是数字或字符串,它可以来自:
- 循环的值
- 值的特殊字段,如 item.id
- 循环的 key
- 循环的序号
<template>
可以使用 <template>
作为 v-for
的容器,这样只会渲染内部的元素和组件,避免了多余的嵌套元素:
渲染出的 HTML:
v-if
不建议在同一元素或组件上同时使用 v-for
和 v-if
,因为此时 v-if
的优先级更高,无法访问 v-for
中的数据。
可以考虑在数据层面进行处理,或者借助 <template>
元素。