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

网站建设 微信营销免费做视频的软件app

网站建设 微信营销,免费做视频的软件app,仿阿里巴巴行业门户贸易网站模板,交通工具网页界面设计经过上一篇的介绍,已经实现了监听数据的变化,接下来就是要实现数据变化后,界面也跟着变化,这就是数据驱动界面改变。 想要实现数据变化之后更新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.yayakq.cn/news/669939/

相关文章:

  • 国内最大的自建站平台网络结构
  • 搜索引擎网站排行榜东莞网站模板
  • 聊城专业网站设计公司seo包年服务
  • 网站建设与管理软件网络营销哪家比较专业
  • 电气行业网站建设多少钱做网站建设的网站
  • wordpress获取站点副标题好看的网站后台模板
  • 深圳企业建网站公司网站建设合同通用范本
  • 动态视觉设计网站全球设计公司排名
  • 电子商务网站规划设计方案网站之前没备案
  • 甘肃省住房与建设厅网站做网站界面用什么软件
  • 网站建站案例网页后端开发
  • 在阿里云做网站教程南京网站建设索q.479185700
  • 特价网站建设官网电商网站制作设计
  • 哪里有做区块链网站的做平台app需要什么
  • 网站开发工程师需要具备的综合素质wordpress集团网站
  • 外贸门户网站页面设计师岗位职责
  • 网站各种按钮代码建设网站用英文怎么说
  • 移动网站开发视频怎样嵌入重庆app推广公司
  • 网站建设图片按钮wordpress 转换中文
  • 上传图片到 wordpress评论北京网站排名优化软件
  • 内蒙古网站建设价格社交网站wap模板
  • 做取名的网站很赚钱吗阿里巴巴网站
  • 可信网站服务千度seo
  • 宁波网站的优化贵州icp网站备案中心
  • 权重7以上的网站天津做网站要多少钱
  • 建设一个网站需要学习什么模板网站做外贸好不好
  • 什么是二级域名网站长沙做网站一般要多少钱
  • 网站关键词基础排名怎么做做淘宝客网站制作教程视频
  • wordpress怎么转移seo知识是什么意思
  • 如何加强省市级政门户网站建设软件外包行业