当前位置: 首页 > news >正文

建应用网站网站快速排名

建应用网站,网站快速排名,廊坊seo,做自媒体要知道的网站经过上一篇的介绍,已经实现了监听数据的变化,接下来就是要实现数据变化后,界面也跟着变化,这就是数据驱动界面改变。 想要实现数据变化之后更新UI界面,我们可以使用发布订阅模式来实现,先定义一个观察者类,…

经过上一篇的介绍,已经实现了监听数据的变化,接下来就是要实现数据变化后,界面也跟着变化,这就是数据驱动界面改变。

想要实现数据变化之后更新UI界面,我们可以使用发布订阅模式来实现,先定义一个观察者类, 再定义一个发布订阅类, 然后再通过发布订阅的类来管理观察者类。

接下来我们就来实现这个代码。

定义一个观察者类,观察属性的变化,当属性变化时,触发回调函数。

class Watcher {constructor(vm, attr, cb) {this.vm = vm;this.attr = attr;this.cb = cb;// 在创建观察者对象的时候就去获取当前的旧值this.oldValue = this.getOldValue();}getOldValue() {return CompilerUtil.getValue(this.vm, this.attr);}/*** 更新的方法, 用于判断新值和旧值是否相同* 如果不相同, 那么就调用回调函数*/update() {let newValue = CompilerUtil.getValue(this.vm, this.attr);if (newValue !== this.oldValue) {this.cb(newValue, this.oldValue);}}
}

上方的类中主要有三个属性,分别是vm, attr, cb,vm是Vue的实例,attr是属性名,cb是回调函数。

定义了一个getOldValue方法,用于获取旧值,这个方法在创建观察者对象的时候就会调用,用于获取旧值。

定义了一个update方法,用于更新数据,当数据发生变化时,就会调用这个方法,用于判断新值和旧值是否相同,如果不相同,就调用回调函数。

接下来我们就来定义一个发布订阅类,用于管理观察者对象。

class Dep {constructor() {// 这个数组就是专门用于管理某个属性所有的观察者对象的this.subs = [];}/*** 订阅观察的方法* @param watcher 观察者对象*/addSub(watcher) {this.subs.push(watcher);}/*** 发布订阅的方法*/notify() {this.subs.forEach(watcher => watcher.update());}
}

上方的类中主要有两个方法,分别是addSub和notify:

  • addSub方法用于订阅观察的方法,将观察者对象添加到数组中。
  • notify方法用于发布订阅的方法,遍历数组中的观察者对象,调用观察者对象的update方法。

构造器中定义了一个数组,用于管理某个属性所有的观察者对象。

好了,现在我们已经定义了观察者类和发布订阅类,先到此为止,下一篇文章再继续。

http://www.ritt.cn/news/19730.html

相关文章:

  • 做网站哪家最好微信营销成功案例8个
  • 2018网站外链怎么做app推广接单平台有哪些
  • 免费的wordpress怎样提高浏览量seo是免费的吗
  • 建设网站建设目的意义电商平台引流推广
  • 政府网站都是谁做的网站注册账号
  • 东莞网站建设套餐什么是口碑营销
  • 济南优化seo网站建设谷歌自然排名优化
  • 上海营销网站制作网络运营培训
  • dw 8做的网站怎么上传2021小说排行榜百度风云榜
  • 淘宝网页版手机版工具seo
  • 宁波网站建设哪家公司好榜单优化
  • 网站外链建设需要考核2024很有可能再次封城吗
  • jsp做网站注册页面seo顾问是什么职业
  • 番禺做网站费用市场营销推广方案模板
  • 网站规划的认识山东关键词快速排名
  • 做游戏音频下载网站国际新闻稿件
  • 湖北省政府网站集约化建设外贸网站有哪些平台
  • python php 网站开发乔拓云网站注册
  • 在网站上发消息做宣传阐述网络推广的主要方法
  • 可以用vs做网站建设吗新手怎么引流推广推广引流
  • 东西湖建设局网站如何做品牌推广方案
  • 北京海淀建设工程律师推荐荆州seo推广
  • 手机网站建设中心营销型网站建设企业
  • 深圳民治网站建设百度关键词怎么做排名
  • 义乌制作网站开发cps推广是什么意思
  • 恋爱ppt模板免费下载网站百度指数查询官方网
  • 东莞虎门高铁站seo网络优化招聘
  • 网站建设的例子网站测试报告
  • 全网营销型网站建设公司小游戏推广接单平台
  • 网站建设记账做什么科目杭州seo网站优化公司