前言
本章讲解的是Vue指令中关于列表循环和表单元素绑定的内容
方法
1.列表循环之v-for
该指令表示根据数据生成列表结构
应用实例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="js/vue.js"></script>
<title>Vue指令</title>
</head>
<body>
<div id="app">
<ul>
<!-- 循环普通的数组对象:对象 in 对象集合 -->
<li v-for="item in arr">{{item}}</li>
<!-- 循环中加入索引index -->
<li v-for="(index,item) in arr">{{index}}、{{item}}</li>
<!-- 循环复杂对象 -->
<li v-for="item in objs">{{item.name}}:{{item.age}}</li>
</ul>
</div>
<script>
var app = new Vue({
el: '#app',
data: {
arr:[1,2,3,4,5],
objs:[{"name":"张三","age":24},{"name":"李四","age":26}]
}
})
</script>
</body>
</html>
页面显示效果如下:
可以发现,我们成功的循环了我们的数组。当数组的元素动态发生改变的时候,页面的显示也会跟着改变。
2.表单元素绑定之v-model
在之前我们学习过如v-text,v-bind指令都是属于单向的绑定,即vue中的数据发生变化的时候同步的在页面进行显示,但是页面中的数据变化却不能应用到vue的数据中,我们可以使用v-model实现双向绑定。
应用实例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="js/vue.js"></script>
<title>Vue指令</title>
</head>
<body>
<div id="app">
<!-- v-model使得数据双向绑定,改变任何一边,数据都会变化 -->
<input type="text" v-model="message1"/><br/>
<input type="text" v-model="message1"/><br/>
<!-- 对比v-bind指令我们可以发现不同点 -->
<input type="text" :value="message2"/><br/>
<input type="text" :value="message2"/><br/>
</div>
<script>
var app = new Vue({
el: '#app',
data: {
message1: 'Hello Vue!',
message2: 'Hello Vue!'
},
methods:{
}
})
</script>
</body>
</html>
程序执行效果如下,前两个text文本框可以随着输入发生变化,后面两个则不能!