Vue指令之v-for

跟其他语言中的for一样,是用来渲染多个类似实例的。

语法为v-for="(item, index) in 可迭代对象",一般就用于遍历数组。这里的语法跟Python中的for循环+enumerate也有点相似之处,但要注意item在前,index在后,同时也可以只遍历item。

遍历得到的item和index可以通过双大括号插入语句在网页上渲染。

示例代码:

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.7.14/dist/vue.js"></script>
    <div id="app">
        <!-- 无序列表ul -->
        <ul>
            <!-- 列表中的标签项li -->
            <li v-for="(item, index) in text_list">{{ index+1 }}-{{ item }}</li>
        </ul>
        <ul>
            <li v-for="item in text_list">{{ item }}</li>
        </ul>
    </div>

    <script>
        const app = new Vue({
            el: "#app",
            data: {
                text_list: ["星期一", "星期二", "星期三", "星期四"]
            }
        })
    </script>
</body>
</html>

效果如下:

在实际开发中,使用v-for渲染li这样的条目还有一点需要注意,就是最好给每个条目加上:key=唯一标识,这样将每个渲染出来的条目唯一的标识起来。因为v-for的默认行为会尝试就地复用 ,即如果对数组中的成员进行了更改,如删除,v-for会直接尝试把被删掉标签后面的内容挪动到前面来,而非直接重新渲染,这样的行为在某些时候会导致问题,例如当被删去的标签有独特的属性时,值得注意。

相关推荐
dleei1 小时前
彻底淘汰老旧 SVG 插件:unplugin-icons 与 Tailwind CSS v4 自定义图标最佳实践
前端·程序员·前端框架
LlNingyu1 小时前
文艺复兴,什么是XSS,常见形式(二)
前端·安全·xss
汉堡大王95271 小时前
# AI 终于能"干活"了——Function Calling 完全指南
javascript·人工智能·机器学习
明君879971 小时前
说说我为什么放弃使用 GetX,转而使用 flutter_bloc + GetIt
前端·flutter
Jingyou2 小时前
用 Astro 搭建个人博客:从零到上线的完整实践
前端
吴声子夜歌2 小时前
JavaScript——call()、apply()和bind()
开发语言·前端·javascript
小哈猪2 小时前
CSS Flex 与 Grid:谁才是布局之王?
javascript
高桥凉介发量惊人2 小时前
质量与交付篇(2/6):CI/CD 实战——自动构建、签名、分发
前端
leafyyuki2 小时前
SSE 同域长连接排队问题解析与前端最佳实践
前端·javascript·人工智能
高桥凉介发量惊人2 小时前
质量与交付篇(3/6):崩溃分析与线上问题回溯机制
前端