天天看點

AngularJs實作聊天清單實時重新整理

昨天在做app的聊天清單時,遇到了一個問題,消息監聽器監聽到了一個新的消息,但是如果這時已經處于消息清單的頁面那麼消息清單并不會及時更新。

我的想法是在service層中的監聽器方法裡,當監聽到了一個新的消息,那麼就在根作用域中發出一個廣播,告訴controller層需要去擷取最新的消息清單了。

service層中發出廣播:

AngularJs實作聊天清單實時重新整理

controller層中接聽廣播:

AngularJs實作聊天清單實時重新整理

rootScope是所有scope的父級

它的廣播(broadcast)和監聽(on) 可以在無交集的controller間使用

scope 的 broadcast 和 on 是用于作用域有交集(父子關系)controller間事件傳遞 有别于rootScope