v-for循环数组
使用v-for可以将数据循环呈现:
<!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>
<script src="js/vue.js"></script>
</head>
<body>
<div id="app">
<h1>{{title}}</h1>
<h2>{{num}}</h2>
<h2>{{bool}}</h2>
<h4>{{arr}}</h4>
<h4>{{obj.anme}}</h4>
<hr>
<ul>
<li v-for="item in arr">{{item}}</li>
</ul>
</div>
</body>
</html>
<script>
new Vue({
el:"#app",
data:{
title:"冒险岛",
num: 456,
bool:false,
arr:[1,2,3,4,5,6],
obj:{name:"王五",age:22,sex:"男"}
}
})
</script>
- 第19行使用
v-for="item in arr"
循环arr数组中的每一项,然后赋值给item。
效果图:
如果需要循环出数组的偏移量可以如下操作:
<li v-for="(index,item) in arr">{{index+":"+item}}</li>
v-for循环对象
代码:
<!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>
<script src="js/vue.js"></script>
</head>
<body>
<div id="app">
<h1>{{title}}</h1>
<h2>{{num}}</h2>
<h2>{{bool}}</h2>
<h4>{{arr}}</h4>
<h4>{{obj.anme}}</h4>
<hr>
<ul>
<li v-for="item in arr">{{item}}</li>
</ul>
<hr>
<ul>
<li v-for="item in obj">
{{item}}
</li>
</ul>
</div>
</body>
</html>
<script>
new Vue({
el:"#app",
data:{
title:"冒险岛",
num: 456,
bool:false,
arr:[1,2,3,4,5,6],
obj:{name:"王五",age:22,sex:"男"}
}
})
</script>
- 22-26行循环obj对象
观察结果:
可以看到循环对象时,直接将值循环出来,如果也需要循环对象的属性,代码如下:
<!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>
<script src="js/vue.js"></script>
</head>
<body>
<div id="app">
<h1>{{title}}</h1>
<h2>{{num}}</h2>
<h2>{{bool}}</h2>
<h4>{{arr}}</h4>
<h4>{{obj.anme}}</h4>
<hr>
<ul>
<li v-for="item in arr">{{item}}</li>
</ul>
<hr>
<ul>
<li v-for="(item,j) in obj">
{{item+":"+j}}
</li>
</ul>
</div>
</body>
</html>
<script>
new Vue({
el:"#app",
data:{
title:"冒险岛",
num: 456,
bool:false,
arr:[1,2,3,4,5,6],
obj:{name:"王五",age:22,sex:"男"}
}
})
</script>
- 23行使用
<li v-for="(item,j) in obj">
这样可以将键和值都读取出来
不同的渲染方式
第一种
第一种渲染方式:
{{key+":"+item}}
就是在同一个{{}}
内拼接,字符串需要加引号,使用“+”号拼接。
第二种
第二种渲染方式:
{{key}}:{{item}}
一个变量使用一个{{}}
,这样就不需要对字符串进行引号和加号了。
规范总结
一般来说v-for写在template标签中即可,可以提高代码的整洁性。
此处评论已关闭