您的位置:首页 > 职场人生

新年福利~~带你手把手撸mvvm,再也不怕面试被问倒了~~~

2019-09-25 09:39 274 查看
原文链接:https://www.mk2048.com/blog/blog.php?id=h2kj12ikkj&title=%E6%96%B0%E5%B9%B4%E7%A6%8F%E5%88%A9%7E%7E%E5%B8%A6%E4%BD%A0%E6%89%8B%E6%8A%8A%E6%89%8B%E6%92%B8mvvm%2C%E5%86%8D%E4%B9%9F%E4%B8%8D%E6%80%95%E9%9D%A2%E8%AF%95%E8%A2%AB%E9%97%AE%E5%80%92%E4%BA%86%7E%7 #多种方式实现MVVM,本章先讲解基于defineProperty来实现,也就是类似于实现vue的mvvm功能。本系列有3种实现方式,defineProperty(VUE),脏检查(angular),原生js实现(发布订阅者模式)

github地址  查看源码 https://github.com/honeydlp/mvvm.git

#vue.js 则是采用数据劫持结合发布者-订阅者模式的方式,通过`Object.defineProperty()`来劫持各个属性的`setter`,`getter`,在数据变动时发布消息给订阅者,触发相应的监听回调。

先看原理图,再结合代码


代码贴图了,今天用掘金code 总是显示在一行,所以截图了,抱歉哈,代码在github上

dom结构


MVVM调用


MVVM实现





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: