文章詳情頁
javascript - angularjs ui-router 父頁面的數據變動如何通知子頁面
瀏覽:158日期:2024-03-03 18:37:12
問題描述
父頁面嵌套子頁面(ui-view 里面也有ui-view)
子頁面是用component來寫的,所以繼承不了父頁面的scope
現在父給子傳數據是通過傳參實現的 $state.go(’parent.child’, {data: $scope.data})
但如果父的數據修改了,那么子頁面是不知道的,還是原來那樣。
請問有什么方法可以讓父頁面的數據修改通知到子頁面,或者別的傳參方式?
問題解答
回答1:父scope$broadcast子頁面可以收到,子頁面scope$emit父頁面可以收
回答2:這種應該算頁面組件間的數據共享問題吧,我能想到的解決方法有以下幾種:
借用 angular 內部的事件機制,子頁面訂閱父頁面發布的事件來進行一些變動,反之也是。
實現一個公用的service來儲存共享數據,分別在兩個頁面的組件中注入
使用第三方的狀態托管容器,比如大名鼎鼎的redux,使用ng-redux做適配,兩個頁面通過調用action來改變狀態容器儲存的狀態
標簽:
JavaScript
相關文章:
1. jquery - angularjs的數據為什么渲染不到頁面上?數據獲取到了,我的代碼哪里出了錯了?2. css - 如何控制鼠標事件?當處于down時會觸發其他效果,而up的時候則會取消所有效果?3. 求助一個Android控件名稱4. vim - docker中新的ubuntu12.04鏡像,運行vi提示,找不到命名.5. IOS app應用軟件的id號怎么查詢?比如百度貼吧的app-id=4779278136. javascript - 求助,html5如何調用攝像頭拍照??7. mysql數據庫是不是報10061錯誤8. python - flask的errorhandler(BaseError)重寫方法后怎么獲得更多信息9. css - 關于offsetLeft和offsetTop10. html5 - mui dialog 如何配置type屬性
排行榜
