MVVM模型全称是(Model-View-ViewModel),它与我们熟知的MVC模型主要差别在于Controller和ViewModel的差异。MVC模型(Model-View-Controller)是通过Controller直接更新View界面的DOM元素。
例如以下的html界面:
<span id="name">Bob</span>
<span id="age">25</span>
如果是MVC模型,那么在js文件中想要修改上述两个DOM的内容的话,则会:
var name = "Alice";
var age = 25;
$(#name).text(name);
$(#age).text(age);
//直接修改DOM
而我们通过使用MVVM模型的话,则是:
//这是一个Model
var person = {
name: "Alice",
age:25
}
在html中,
//使用数据绑定
<span>{{person.name}}</span>
<span>{{person.age}}</span>
那么后续如果要修改内容,则直接,
person.name = "Bob"
person.age = 21