? ? ? ? 項目中有這么一個需求:只要有通知就要在通知標簽上顯示紅點,類似于微信的消息提示,這樣就使得需要在全局,或者任何時候收到消息的時候,能更新消息標簽上的小紅點,那么就需要有一個類似于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中的注冊的方法。