上QQ阅读APP看书,第一时间看更新
1.1.2 流行的MVVM模式
MVVM是把MVC中的Controller去除了,相当于变薄了,取而代之的是ViewModel。所谓ViewModel,是一个同步的View和Model的对象,在前端MVVM中,ViewModel最典型的作用是操作DOM,特点是双向数据绑定(Data-Binding)。
在双向数据绑定中,开发者无须关注如何找到DOM节点和如何修改DOM节点,因为每一个在View中需要操作的DOM都会有一个在Model中对应的对象,通过改变这个对象,DOM就会自动改变;反之,当DOM改变时,对应的Model中的对象也会改变。ViewModel将View和Model关联起来,因此开发者只需关注业务逻辑,不需要手动操作DOM,这就是ViewModel带来的优势,如图1-1所示。
图1-1 MVVM模式
MVVM让开发者更加专注于页面视图,从视图出发来编写业务逻辑,这也符合正常的开发流程,而Vue.js就是一个典型的从视图(View)出发的前端MVVM框架。从Vue的英文发音/vju:/类似View就可以参透其中的奥秘。