Vue学习之v-for

1、html代码

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <div id="app">
      <ul>
        <li v-for="item in hobby">{{item}}</li>
      </ul>
    </div>

    <script src="vue.js"></script>
    <script>
      const app = new Vue({
        el: '#app',
        data() {
          return {
            message: '你好',
            hobby: ['running', 'swimming', 'cooking'],
          }
        },
      })
    </script>
  </body>
</html>

2、备注
(1)使用v-for指令遍历data.hobby,如果在console添加

app.hobby.push("reading")

页面会显示
在这里插入图片描述

### Vue 3 中 `v-for` 指令的使用教程 #### 渲染数组 在 Vue 3 中,`v-for` 指令用于基于一组项来重复渲染元素或模板片段。最常见的用法是遍历数组并为每一项创建一个 DOM 元素。 ```html <ul> <li v-for="(item, index) in items" :key="index"> {{ item.message }} </li> </ul> ``` 这段代码会根据 `items` 数组的内容生成一系列 `<li>` 列表项[^1]。 为了提高性能和保持组件状态,在使用 `v-for` 的时候应该尽可能提供唯一的键值给 `:key` 属性,而不是简单地使用索引作为键值[^3]。 #### 遍历对象属性 除了数组之外,还可以利用 `v-for` 来迭代 JavaScript 对象上的可枚举属性: ```html <ul> <li v-for="(value, key, index) in objectProperties" :key="key"> {{ index }}. {{ key }}: {{ value }} </li> </ul> ``` 这里不仅能够访问到当前属性的名字 (`key`) 和它的值 (`value`) ,还能获取到该条目的位置(`index`)。 #### 组件内的应用 当在一个自定义组件内部运用 `v-for` 进行循环时,记得传递必要的 prop 数据以及事件监听器给子组件实例: ```html <my-component v-for="(item, idx) in itemList" :key="idx" :title="item.title" @click="handleClick(item)" /> ``` 这使得可以在父级作用域内管理多个相同类型的子组件,并且每个子组件都能接收到特定的数据绑定。 #### 实际案例分析 考虑如下场景——有一个待办事项的应用程序,其中包含了一个任务列表。可以通过以下方式使用 `v-for` 来呈现这些任务: ```javascript // 定义数据模型 data() { return { todoItems: [ { id: 0, text: '学习Vue.js' }, { id: 1, text: '练习编写组件' } ] }; } ``` ```html <!-- 使用v-for渲染todoItem--> <ul> <li v-for="task in todoItems" :key="task.id">{{ task.text }}</li> </ul> ``` 此例子展示了如何结合实际业务逻辑有效地使用 `v-for` 指令完成页面上动态内容的构建[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值