MVVM (Model-View-ViewModel) 是一种设计模式,主要用于构建用户界面。在 MVVM 中,Model 表示应用程序的数据,View 表示用户界面,而 ViewModel 是 Model 和 View 之间的连接器。MVVM 的核心思想是将视图与模型分离,使它们能够独立变化,从而简化复杂界面的开发。
Vue.js 是一个流行的前端框架,它基于 MVVM 模式,实现了双向数据绑定。这意味着当 Model 的数据发生变化时,View 会自动更新,反之亦然。
Vue 的双向数据绑定的原理大致如下:
通过以上机制,Vue 实现了高效、简洁的双向数据绑定,从而简化了前端开发的工作
MVVM分为Model、View、ViewModel三者。
· Model 代表数据模型,数据和业务逻辑都在Model层中定义;
· View 代表UI视图,负责数据的展?;
· ViewModel 负责监听 Model 中数据的改变并且控制视图的更新,处理?户交互操作;
实现数据的双向绑定,?先要对数据进?劫持监听,所以我们需要设置?个监听器Observer,?来监听所有属性。如果属性发上变化了,就需要告诉订阅者Watcher看是否需要更新。因为订阅者是有很多个,所以我们需要有?个消息订阅器Dep来专门收集这些订阅者,主要是在监听器Observer和订阅者Watcher之间进?统?管理
MVC模式将软件分为下?三个部分 1.视图(View) :?户界? 2.控制器(Controller) :业务逻辑 3.模型(Model) :数据保存
vuex的state、getter、mutation、action、module特性分别是什么?
State:保存着所有的全局变量
Getter: store中的计算属性,就像计算属性?样,getter 的返回值会根据它的依赖被缓存起来,且只有当它的依赖值发?了改变才会被重新计算。 getters接收state作为其第?个参数,接受其他 getters 作为第?个参数,如不需要,第?个参数可以省略。
Mutation:更改 Vuex 的 store 中的状态的唯??法是提交 mutation, mutation 必须是同步函数
Action: Action 可以包含任意异步操作, 在组件中使? this.$store.dispatch(‘xxx’) 分发 action
Module:可以写很多模块,Vuex 允许我们将 store 分割到模块(module)。每个模块拥有??的
state、mutation、action、getters,最后都引?到?个?件。分散管理。
?