默认情况下Vue只支持数据单向传递M–> VM–>V,但是由于Vue是基于MVVM设计模式的,所以也提供了双向传递的能力。
可以用 v-model 指令在表单 、 及 元素上创建双向数据绑定
注意点:v-model会忽略所有表单元素的value、checked、selected特性的初始值,而总是将Vue实例的数据作为数据来源
<body>
<div id ="app">
<p>{{name}}</p>
<input type="text" v-model="msg">
</div>
<script>
//创建Vue实例,得到 ViewModel
var vm = new Vue({
el: '#app',
// 这里是model
data: {
name:"赵四",
msg:"哈哈哈"
}
});
</script>
</body>
首先是通过v-model的值和data中的msg的值对应起来,这样input中就会渲染出 msg的值。也是
M–> VM–>V的数据传递
然后运行结果是:
然后直接修改msg的数据,相应的input中的数据也会发生变化,这就是v->vm->m的数据传递。