Vue 循环语句
在 Vue.js 中,你可以使用 v-for 指令来对数组或对象进行遍历,动态生成 HTML 元素。v-for 指令允许你根据数据源的内容重复渲染一个元素或者模板块。
遍历数组
使用 v-for 遍历数组,可以将数组的每个元素渲染为一个 HTML 元素。
<div id="app"> <ul> <li v-for="item in items" :key="item.id"> {{ item.text }} </li> </ul> </div> <script> var app = new Vue({ el: '#app', data: { items: [ { id: 1, text: 'Item 1' }, { id: 2, text: 'Item 2' }, { id: 3, text: 'Item 3' } ] } }); </script>
在上述示例中:
v-for="item in items" 表示遍历 items 数组,每次迭代将 item 绑定到当前遍历的数组元素。
:key="item.id" 是必须的,用于 Vue 识别每个节点的唯一性,这样 Vue 可以有效地重新使用和重新排序已渲染的元素。
遍历对象的属性
除了数组,你也可以使用 v-for 遍历对象的属性。 <div id="app"> <ul> <li v-for="(value, key) in user" :key="key"> {{ key }}: {{ value }} </li> </ul> </div> <script> var app = new Vue({ el: '#app', data: { user: { name: 'John Doe', age: 30, email: 'john.doe@example.com' } } }); </script>
在上述示例中:
v-for="(value, key) in user" 表示遍历 user 对象的每个属性,key 是属性名,value 是属性值。
遍历整数范围
你还可以使用 v-for 遍历整数范围。
<div> <span v-for="n in 10" :key="n"> {{ n }} </span> </div>
上述示例将会生成从 1 到 10 的 <span> 元素。
遍历嵌套数据
如果你有嵌套的数据结构,可以使用嵌套的 v-for 来进行多层级的遍历。
<div id="app"> <ul v-for="category in categories" :key="category.id"> <li>{{ category.name }}</li> <ul> <li v-for="product in category.products" :key="product.id"> {{ product.name }} </li> </ul> </ul> </div> <script> var app = new Vue({ el: '#app', data: { categories: [ { id: 1, name: 'Category A', products: [ { id: 1, name: 'Product A1' }, { id: 2, name: 'Product A2' } ] }, { id: 2, name: 'Category B', products: [ { id: 3, name: 'Product B1' }, { id: 4, name: 'Product B2' } ] } ] } }); </script>
在上述示例中:
v-for="category in categories" 遍历 categories 数组中的每个对象。
v-for="product in category.products" 遍历 category 对象中的 products 数组。
注意事项
在使用 v-for 渲染元素时,要确保提供唯一的 key 属性,以便 Vue 可以高效地更新 DOM。
遍历对象时,默认情况下是无序的,如果需要有序遍历对象的属性,可以使用 Object.keys() 方法。
以上是在 Vue.js 中使用 v-for 指令进行循环遍历的基本示例和注意事项。