Vue 条件语句
Vue 计算属性 

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 指令进行循环遍历的基本示例和注意事项。