Vue中的MVVM
什么是MVVM呢?
通常我们学习一个概念最好的方法就是去看维基百科(千万别看成了百度百科)
MVVM :MV viewmodel 双向数据绑定 通过MV的交互 来实现model 与view 的响应处理。
vue 是一个渐进式的框架,采用的是一个自底向上的开发模式,渐进式:主张少。
在关心一下:具体的vue实现
最重要的VM 利用了ES6的一些新特新,采用了声明式编程(Declarative Programming)替代了过去的类jquery的命令式编程(Imperative Programming)。利用ES6 的一些新特性
Object.defineProperty 给每个属性设置setter()和getter(),每一值的变动就会对应引起其他的变动,就实现了VM 这个和angular 的脏循环还有所出入。
View层:
视图层
在我们前端开发中,通常就是DOM层。
主要的作用是给用户展示各种信息。
Model层:
数据层
数据可能使我们固定的死数据,更多的是来自我们服务器,从网络上请求下来的数据。
在我们计数器的案例中,就是后面抽取出来的OBJ,当然,里面的数据可能没有这么简单。
VueModel层:
视图模型层
视图模型层是View和model沟通的桥梁。
一方面它实现了Data Binding,也就是数据绑定,将Model的改变实时的反映到View中。
另一方面它实现了DOM listener,也就是DOM监听,当DOM发生一些事件(点击、滚动、touch等)时,可以监听到,并在需要的情况下改变Data。