关于mvvm原理实现,模拟vue(3)-----发布订阅
程序员文章站
2022-03-10 08:13:12
为了实现 “ 数据修改导致视图发生 “ 我们选择使用发布订阅模式 以下是简单的发布订阅模式的实现 ------------------------------------------------- function Dep() { this.watchers=[]; } Dep.prototype.... ......
为了实现 “ 数据修改导致视图发生 “ 我们选择使用发布订阅模式
以下是简单的发布订阅模式的实现 ------------------------------------------------- function Dep() { this.watchers=[]; } Dep.prototype.add=function (watcher) { this.watchers.push(watcher); }; Dep.prototype.subscrib = function () { this.watchers.forEach(watcher=>watcher.update()); }; function Watcher(fn) { fn(); } Watcher.prototype.update=function () { this.fn(); };