大家好,让我们在VUE2中学习MVVM的原理,并使用代码模拟MVVV的实现过程。在学习学习原理之前,让我们首先了解MVVM是什么。SO称为MVVM实际上是模型,查看和ViewModel:
以上简要介绍了MVVM,因此让我们以VUE2为例,以了解如何实现MVVM。它的实现原则是什么?首先,我们可以将MVVM的实现分为三个步骤:数据劫持,模板汇编和两个绑定。
object.defineproperty方法接受三个参数:第一个参数是被劫持的对象,第二个参数是劫持对象中的属性(key),第三个参数是配置项目对象(包括:值,枚举,枚举,configurawle,configurawle,,获取,设置和其他属性),如下:
当我们进行数据劫持时,我们主要使用GET和设置的两个属性。只要获得或修改外部世界中的属性值,通过此方法劫持的对象属性将触发GET或设置方法,以便我们可以在get或setdo中获得或设置一些其他操作。通过数据劫持的实现,我们还知道为什么要进行数据劫持。这是因为我们可以通过数据劫持以实现响应数据进行一些其他操作。LET以Vue的数据为例,以实现简单的数据劫持。
class Watcher {constructor(node,key,vm){dep.target = this;//它用于仅识别通过观察器收集的属性以收集this.node = node;this.key = key;this.vm = vm;this.getValue();dep.target = null;} update(){this.getValue();//首先获取最新值,如果(this.node.nodetype === 1){this.node.value = this.value;} else if(this.node.nodeType ==== 3){this.node.textContent= this.value;}}}。键];}
}
今天,我们简要整理了VUE2中MVVM的实施原则,并根据我们的理解简要撰写了我们自己的MVVM。实际上,这只是冰山一角。大概是引入了其基本思想和流程。这就是今天的分享。
原始:https://juejin.cn/post/7101516105289564196