MVVM:
概念:
model-view-viewmodel
model:数据访问层(通常是vue中的JS代码,请求数据ajax,axios,)
view:视图层(结构布局外观 html css h5 c3 响应式)
viewmodel:公共属性和命令,在视图层和数据访问层之间进行通信。
viewmodel是核心,它包括DOM Listenters和Data bindlings,前者实现了页面与数据的绑定,当页面操作数据的时候DOM和Model也发生变化。Data bindlings实现了数据与页面的绑定,当数据发生变化时会自动渲染页面。
小结:将结构布局和业务逻辑分开,通过viewmodel在结构布局和业务逻辑之间进行通信。
优势:
1.低耦合(JS和HTML CSS分开)
2.可重用性高
3.分层开发,便于维护
常见面试题:
1.什么是MVVM思想?
MVVM -Model View ViewModel,它包括 DOM Listenters 和 Data bindings,前者实现了页面与数据的绑定,当页面操作数据的时候数据也发生相应的变化。后者实现了数据与页面的绑定,当数据发生变化时自动渲染页面。
2.MVVM相对于MVC的优势?
MVVM实现了视图与数据的双向绑定,而MVC只实现了数据到视图的单向绑定。
MVVM实现了业务逻辑与页面渲染的解耦,数据与视图的解耦,可以组件化开发。
3.VUE如何体现MVVM思想?
胡子语法,实现了数据与视图的绑定。
事件绑定,通过事件操作数据时,数据与页面都会发生相应的变化。
MVC
MVVM