MVVM,是Mode1-View-ViewModel的简写,是M/-V-VM三部分组成。它本质上就是MVC的改进版。MVVM就是将其中的View的状态和行为抽象化,其中ViewModel将视图U和业务逻辑分开,它可以取出Model的数据间时帮忙处理View中由于需要展示内容而涉及的业务逻辑
介绍:
MVVM即Mode1-View-‘ViewModel的简写。即模型-视图-视图模型。2..模型(Model)指的是后端传递的数据。
构成:
模型(model)在vue中指数据
视图(View)指的是所看到的页面。
视图模型(ViewMode1)是 mwvm模式的核心,它是连接view和model的桥梁。它有两个方向:
原理:
一是将模型(Model)转化成视图(View),即将后端传递的数据转化成所看到的页面。实现的方式是:数据绑定。
二是将视图(View)转化成模型(Mode1),即将所看到的页面转化成后端的数据。实现的方式是:DOM事件监听。这两个方向都实现的;我们称之为数据的双向绑定口。”
目的:
项目复杂度越来越高之后,MVC中的Controler会变得越来越臃肿,难以维护,所以将其中的数据和逻辑处理抽离出的MVVM更佳
监听方式:
vue3.0中,使用proxy替换了原来遍历对象使用Object.defineProperty方法给属性添加set/get
vue的核心能力之一是监听用户定义的状态变化并响应式刷新DOM
vue2是通过替换状态对象属性的getter和setter来实现的,vue3则通过proxy进行
改为proxy后,可以突破vue当前的限制,解决之前vue2的无法监听新增属性,还能提供更好的性能表现
这是因为vue2的监听无法做到完全监听(数组里发生变化时无法完全监听)