vue v-for指令

v-for 指令为 vue 中的循环标签,用来根据数组循环创建元素。非常重要,一定要掌握。

v-for 指令为 vue 中的循环标签,用来根据数组循环创建元素。非常重要,一定要掌握。下面将逐一介绍:

v-for 循环普通数组

vue 中 可以使用 v-for="value of datas" 或者 v-for="value in datas" 指令去迭代数组。实例如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8"/>
    <title>学习 VUE 框架</title>
    <script type="text/javascript" src="../libs/vue-2.6/vue.js"></script>
</head>
<body>
<div id="app">
    <!-- 可以使用 v-for="todo of todos" 去替代 -->
    <p v-for="todo in todos">
        {{ todo }}
    </p>
</div>
<script type="text/javascript">
    var app = new Vue({
        el: '#app',
        data: {
            todos: ["洗衣服", "做饭", "扫/拖地"]
        }
    })
</script>
</body>
</html>

输出:

<p>洗衣服</p>
<p>做饭</p>
<p>扫/拖地</p>

迭代数组,我们可以获取数组的下标索引值。v-for 指令提供了获取下标的方法,如下:

<p v-for="(todo, index) in todos">
    {{ index + ' - ' + todo.text }}
</p>

v-for 循环对象数组

数组中不仅可以存放基础数据,还能存放一个个对象。下面实例将演示,在数据中存放对象。然后使用 v-for 注意迭代,获取对象的值:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8"/>
    <title>学习 VUE 框架</title>
    <script type="text/javascript" src="../libs/vue-2.6/vue.js"></script>
</head>
<body>
<div id="app">
    <p v-for="todo in todos">
        {{ todo.text }}
    </p>
</div>
<script type="text/javascript">
    var app = new Vue({
        el: '#app',
        data: {
            todos: [
                { text: '学习 JavaScript' },
                { text: '学习 Vue' },
                { text: '学习 SpringBoot' }
            ]
        }
    })
</script>
</body>
</html>

输出:

<p>学习 JavaScript</p>
<p>学习 Vue</p>
<p>学习 SpringBoot</p>

v-for循环对象

v-for 指令不仅仅能够迭代数组,而且还能迭代对象。获取对象中每个属性的key 和 value,实例代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8"/>
    <title>学习 VUE 框架</title>
    <script type="text/javascript" src="../libs/vue-2.6/vue.js"></script>
</head>
<body>
<div id="app">
    <!-- 此处的 todo 是一个对象,我们可以再 {{}} 中使用点 "." 进行获取 -->
    <p v-for="value in user">
        {{value}}
    </p>
</div>
<script type="text/javascript">
    var app = new Vue({
        el: '#app',
        data: {
            user: {
                id: 10000,
                name: 'Helen',
                sex: 'male',
                email: 'helen@qq.com'
            }
        }
    })
</script>
</body>
</html>

输出:

<p>10000</p>
<p>Helen</p>
<p>male</p>
<p>helen@qq.com</p>

上面实例中,我们 v-for 指令返回的是一个对象,需要使用 obj.key 的方式去获取值。假如我们需要去获取 key,该怎么处理呢?可使用 v-for="(value, key) in user" 指令去获取对象的每个属性和值。实例如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8"/>
    <title>学习 VUE 框架</title>
    <script type="text/javascript" src="../libs/vue-2.6/vue.js"></script>
</head>
<body>
<div id="app">
    <p v-for="(value, key) in user">
            {{key + ' = ' + value}}
    </p>
</div>
<script type="text/javascript">
    var app = new Vue({
        el: '#app',
        data: {
            user: {
                id: 10000,
                name: 'Helen',
                sex: 'male',
                email: 'helen@qq.com'
            }
        }
    })
</script>
</body>
</html>

输出:

<p>id=10000</p>
<p>name=Helen</p>
<p>sex=male</p>
<p>email=helen@qq.com</p>

v-for循环数字

v-for还有另一种用法,即可以循环数字,使用 v-for="value in 4" 指令。实例如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8"/>
    <title>学习 VUE 框架</title>
    <script type="text/javascript" src="../libs/vue-2.6/vue.js"></script>
</head>
<body>
<div id="app">
    <p v-for="value in 4">
            {{value}}
    </p>
</div>
<script type="text/javascript">
    var app = new Vue({
        el: '#app',
        data: {}
    })
</script>
</body>
</html>

输出:

<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
游手好闲地学习,并不比学习游手好闲好。 —— 约翰·贝勒斯
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号