> 文章列表 > MVVM框架如何实现双向绑定

MVVM框架如何实现双向绑定

MVVM框架如何实现双向绑定

双向绑定

单向绑定非常简单,就是把Model绑定到View,当我们用JavaScript代码更新Model时,View就会自动更新。

有单向绑定,就有双向绑定。如果用户更新了View,Model的数据也自动被更新了,这种情况就是双向绑定。

什么情况下用户可以更新View呢?填写表单就是一个最直接的例子。当用户填写表单时,View的状态就被更新了,如果此时MVVM框架可以自动更新Model的状态,那就相当于我们把Model和View做了双向绑定:

mvvm-2way-binding

在浏览器中,当用户修改了表单的内容时,我们绑定的Model会自动更新:

mvvm-form

在Vue中,使用双向绑定非常容易,我们仍然先创建一个VM实例:

$(function () {
var vm = new Vue({
el: ‘#vm’,
data: {
email: ‘’,
name: ‘’
}
});
window.vm = vm;
});
然后,编写一个HTML FORM表单,并用v-model指令把某个和Model的某个属性作双向绑定:

我们可以在表单中输入内容,然后在浏览器console中用window.vm.$data查看Model的内容,也可以用window.vm.name查看Model的name属性,它的值和FORM表单对应的是一致的。

如果在浏览器console中用JavaScript更新Model,例如,执行window.vm.name=‘Bob’