Vue.js 循环语句
循环使用 v-for 指令。
v-for 指令需要以 site in sites 形式的特殊语法, sites 是源数据数组并且 site 是数组元素迭代的别名。
v-for 可以绑定数据到数组来渲染一个列表:
v-for 指令
<div id="app">
<ol>
<li v-for="site in sites">
{{ site.name }}
</li>
</ol>
</div>
<script>
new Vue({
el: '#app',
data: {
sites: [
{ name: 'Runoob' },
{ name: 'Google' },
{ name: 'Taobao' }
]
}
})
</script>
尝试一下 »
模板中使用 v-for:
v-for
<ul>
<template v-for="site in sites">
<li>{{ site.name }}</li>
<li>--------------</li>
</template>
</ul>
尝试一下 »
v-for 迭代对象
v-for 可以通过一个对象的属性来迭代数据:
v-for
<div id="app">
<ul>
<li v-for="value in object">
{{ value }}
</li>
</ul>
</div>
<script>
new Vue({
el: '#app',
data: {
object: {
name: '菜鸟教程',
url: 'http://www.runoob.com',
slogan: '学的不仅是技术,更是梦想!'
}
}
})
</script>
尝试一下 »
你也可以提供第二个的参数为键名:
v-for
<div id="app">
<ul>
<li v-for="(value, key) in object">
{{ key }} : {{ value }}
</li>
</ul>
</div>
尝试一下 »
第三个参数为索引:
v-for
<div id="app">
<ul>
<li v-for="(value, key, index) in object">
{{ index }}. {{ key }} : {{ value }}
</li>
</ul>
</div>
尝试一下 »
v-for 迭代整数
v-for 也可以循环整数
wally
177***86076@139.com
尝试一下 »
wally
177***86076@139.com
锋
cka***ng@qq.com
参考地址
v-for 默认行为试着不改变整体,而是替换元素。迫使其重新排序的元素,你需要提供一个 key 的特殊属性:
锋
cka***ng@qq.com
参考地址
boser
602***724@qq.com
不仅如此,在迭代属性输出的之前,v-for会对属性进行升序排序输出:
尝试一下 »
输出:
boser
602***724@qq.com
hunterfall
777***21@qq.com
遍历对象的时候可以处理嵌套。
尝试一下 »
hunterfall
777***21@qq.com
某人
767***68@qq.com
九九乘法是程序员的最爱:
尝试一下 »
某人
767***68@qq.com