0
我在同一頁面中使用了兩個控制器。在angularJS中獲取已更新的Json數據
第一個控制器有兩個選項卡。第一個標籤有聯繫人列表,第二個標籤有收藏夾列表。
在第一個選項卡中。我展示了所有的數據。 在第二個選項卡,我已經展示基於isFavourites場
ng-show="user.isFavourites"
如果這是真的DATAS。它正在顯示。
當我點擊第一個選項卡上的聯繫人列表。 Popup將顯示。在那個彈出窗口中,我有一個AddFav的按鈕。 Popup是第二個控制器。
當我點擊AddFav按鈕,我有設置isFavourites是真實的。
所以我的問題是
設置isFavourites,當我轉到第二個選項卡,這些數據將與去年提起更新後顯示。
我的形式是
<div id="userListControl">
<div id="tab1">...</div>
<div id="tab2">...</div>
</div>
<div id="userDetailsControl">
</div>
userDirectory.controller("userListControl", function($scope,$rootScope, $http)
{
$http.get('data/userData.json').success (function(data){
$scope.users = data;
});
$scope.selectUser = function(user){
$rootScope.selectedUser = user;
showPopup();
}
});
});
// Contact Details Controller with Watch()
userDirectory.controller("userDetailsControl", function($scope, $rootScope){
$rootScope.$watch("selectedUser", function(newVal){
$scope.user = newVal;
});
$scope.addFav = function(user){
$rootScope.selectedUser.isFavourites = true;
console.log($rootScope.selectedUser)
}
});
在第一控制,Selectuser使用聯繫人列表上點擊時,它會顯示在彈出
的可能重複的[在角JS控制器之間傳遞數據?](http://stackoverflow.com/questions/20181323/passing -data-between-controllers-in-angular-js) – 757071 2014-11-04 06:18:46
不知怎的,它是不同的,我已經通過兩個控制器之間的控制。我已經在watch目錄中使用了rootScope。再次我必須使用rootScope在手錶 – 2014-11-04 06:35:13
您應該嘗試事件廣播或服務控制器通信。 – 2014-11-04 06:44:41