[英]change scope value in already loaded controller from another controller without rootScope
我需要從controller-1更新一個controller-2(已加載)的$ scope值。 我不想使用$ rootScope。
我可以使用廣播或發射嗎?
如果控制器之間有子代關系,則可以使用:
如果他們不在這種關系中,那么您需要:
當然...這並不總是最好的方法。
如果您願意,可以使用其他方式進行通信(例如,使用通用服務)。
在rootscope上使用brodcast並在范圍上偵聽。
最佳做法是為您要收聽或廣播的每個自定義事件創建服務。
.service("hiEventService",function($rootScope,$scope) {
this.broadcast = function() {$rootScope.$broadcast("hi")}
this.listen = function(callback) {$scope.$on("hi",callback)}
})
您可以使用$ localStorage更改該值。 或創建一個獲取服務並設置該值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.