摘要:这就是的不过想不明白这么优秀的一个库怎么会没有实现对主题的订阅这个功能呢,是不是中有替代方法,有小伙伴知道的话欢迎给我说一下,不胜感激。
有不合理和错误的地方欢迎小伙伴雅正,与大家共勉理解对主题订阅
angular中的订阅的实现是用的RX.js库,我们可以用Subject来实现事件的订阅和发布
// 声明一个可观察对象 const obervable = new Subject(); // 订阅 observable.subscript( data => { handler... }) // 发布 observable.next(data)
项目中离不了对同一个可观察对象的不同主题的订阅,比如单页面应用中某个负责权限的可观察对象,进行登录和登出这两个主题进行订阅,这个可观察会根据用户的登录和登出去订阅者发布登录和登出的事件,让订阅者去执行异形系列的操作(大型项目中这有利于降低功能间的耦合)
// 声明一个可观察对象,也是一个事件发布对象 const obervable = new Events(); // 对某个话题订阅 obervable.subscript("login",handler) obervable.subscript("logout",handler) // 对某个主题发布实践 observable.publish("login",data) observable.publish("logout",data)
给大家看个熟悉的,jQuery的on方法,方便小伙伴理解
// 选取一个dom元素 const dom = $("#obervableDom") // 对这个dom元素的主题进行订阅(事件监听) dom.on("click",handler) // dom元素发布主题(触发事件) dom.click()
熟悉ionic的小伙伴可能有话说了,这不就是ionic的Events吗。这就是ionic的Events,不过想不明白RX.js这么优秀的一个库怎么会没有实现对主题的订阅这个功能呢,是不是RX.js中有替代方法,有小伙伴知道的话欢迎给我说一下,不胜感激。
下面是我根据ionic Events类的思路和代码重写的一个新的Events,用了一些ES6的语法。用法文档没有变化(
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/99030.html
摘要:微信公众号后端进阶,专注后端技术分享框架分布式中间件服务治理等等。 微信公众号「后端进阶」,专注后端技术分享:Java、Golang、WEB框架、分布式中间件、服务治理等等。 前段时间有个朋友向我提了一个问题,他说在搭建 RocketMQ 集群过程中遇到了关于消费订阅的问题,具体问题如下: showImg(https://segmentfault.com/img/remote/1460...
摘要:基于写了一个涂鸦组件,说项目之前先附上几张效果图项目地址由于篇幅问题,本文先总体介绍一下项目的大概情况,重点介绍一下组件间的通信方式。一项目说明该项目是基于构建的多页应用,使用开发,以组件的方式组织代码。 基于svg写了一个涂鸦组件,说项目之前先附上几张效果图: 项目地址:SVGraffiti showImg(https://segmentfault.com/img/bVbassI?w...
摘要:观察者模式定义设计模式中对的定义一个对象称为维持一系列依赖于它观察者的对象,将有关状态的任何变更自动通知给它们。如图模式比较观察者模式则多了一个类似于话题调度中心的流程,发布者和订阅者解耦。 Obeserver(观察者)模式 定义 《js设计模式》中对Observer的定义:一个对象(称为subject)维持一系列依赖于它(观察者)的对象,将有关状态的任何变更自动通知给它们。 《设计模...
阅读 2590·2021-11-23 09:51
阅读 3132·2019-08-30 15:54
阅读 1086·2019-08-30 14:14
阅读 3561·2019-08-30 13:59
阅读 1425·2019-08-29 17:09
阅读 1479·2019-08-29 16:24
阅读 2864·2019-08-29 15:43
阅读 930·2019-08-29 12:45