ionic 跨界面操作

        项目中有这么一个需求:只要有通知就要在通知标签上显示红点,类似于微信的消息提示,这样就使得需要在全局,或者任何时候收到消息的时候,能更新消息标签上的小红点,那么就需要有一个类似于Android广播形式的机制来进行操作。



我们使用的是百度推送插件,推送插件在(Myapp)里初始化,收到消息的时候,需要在myapp里通知界面进行UI更新,同时更新列表。

ioinc中有个Events 可以实现这个效果。

Events:事件注册  在任意一界面注册事件之后可在任意界面根据事件名称进行调用。

(参考:http://ionicframework.com/docs/api/util/Events/)



Events 有三个方法 分别是:

this.events.publish () //注册Events事件

this.events.subscribe() //调用Eevents事件

this.events.unsubscribe() //注销Events事件

在需要进行ui更新的界面注册事件,如下:我是在tabs.ts里进行注册(当然你可以在任何需要被动通知的界面进行注册),


在需要主动通知操作的界面只需要调用 subscribe事件即可。

也可以在多个界面同时注册多个事件,可以一次调用多个不同界面的事件,进行不同操作。



注:界面每次调用Push是会就是触发ionViewDidLoad事件,调用Pop的时候则会销毁界面,调用ionViewWillUnload。所以注册Events事件的时候必须在界面销毁的时候把事件进行注销,不然下次调用则会重复执行Events中的注册的方法。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,010评论 19 139
  • 我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的...
    Jason_andy阅读 5,602评论 7 62
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,663评论 25 708
  • 其实,我知道一直以来我的自我管理能力并不强。很多时候,我需要给自己一个压力。 很久之前,当我决定写下成长记录时,为...
    小飞侠303阅读 461评论 4 6
  • 可是人世间最抽象的就是爱,我只想心如止水,过最平凡的简单生活。未来又或许遥远,我也不知道会发生什么,但我只想好好的活着。
    颜清泽阅读 297评论 2 9