文章詳情頁
javascript - angularjs ui-router 父頁面的數(shù)據(jù)變動如何通知子頁面
瀏覽:234日期:2024-03-03 18:37:12
問題描述
父頁面嵌套子頁面(ui-view 里面也有ui-view)
子頁面是用component來寫的,所以繼承不了父頁面的scope
現(xiàn)在父給子傳數(shù)據(jù)是通過傳參實現(xiàn)的 $state.go(’parent.child’, {data: $scope.data})
但如果父的數(shù)據(jù)修改了,那么子頁面是不知道的,還是原來那樣。
請問有什么方法可以讓父頁面的數(shù)據(jù)修改通知到子頁面,或者別的傳參方式?
問題解答
回答1:父scope$broadcast子頁面可以收到,子頁面scope$emit父頁面可以收
回答2:這種應該算頁面組件間的數(shù)據(jù)共享問題吧,我能想到的解決方法有以下幾種:
借用 angular 內(nèi)部的事件機制,子頁面訂閱父頁面發(fā)布的事件來進行一些變動,反之也是。
實現(xiàn)一個公用的service來儲存共享數(shù)據(jù),分別在兩個頁面的組件中注入
使用第三方的狀態(tài)托管容器,比如大名鼎鼎的redux,使用ng-redux做適配,兩個頁面通過調(diào)用action來改變狀態(tài)容器儲存的狀態(tài)
標簽:
JavaScript
相關文章:
1. javascript - sublime快鍵鍵問題2. javascript - immutable配合react提升性能?3. vue.js - Vue 如何像Angular.js watch 一樣監(jiān)聽數(shù)據(jù)變化4. 如何解決Centos下Docker服務啟動無響應,且輸入docker命令無響應?5. 實現(xiàn)bing搜索工具urlAPI提交6. javascript - 移動端上不能實現(xiàn)拖拽布局嗎?7. angular.js - 單頁應用(ng/vue)該如何監(jiān)聽用戶離開當前頁面(或者路由)?8. javascript - ios返回不執(zhí)行js怎么解決?9. thinkPHP5中獲取數(shù)據(jù)庫數(shù)據(jù)后默認選中下拉框的值,傳遞到后臺消失不見。有圖有代碼,希望有人幫忙10. index.php錯誤,求指點
排行榜

熱門標簽
網(wǎng)公網(wǎng)安備