Jquery 在angularJS中获取更新的Json数据
我在同一页中使用两个控制器 第一个控制器有两个选项卡。第一个选项卡有联系人列表,第二个选项卡有收藏夹列表 在第一个选项卡中。我正在显示所有数据。 在第二个选项卡中,我显示了基于isFavorites字段的数据Jquery 在angularJS中获取更新的Json数据,jquery,json,angularjs,Jquery,Json,Angularjs,我在同一页中使用两个控制器 第一个控制器有两个选项卡。第一个选项卡有联系人列表,第二个选项卡有收藏夹列表 在第一个选项卡中。我正在显示所有数据。 在第二个选项卡中,我显示了基于isFavorites字段的数据 ng-show="user.isFavourites" 如果是真的。它正在显示 当我单击第一个选项卡上的联系人列表时。弹出窗口将显示。在弹出窗口中,我有一个按钮是AddFav。Popup是第二个控制器 当我点击AddFav按钮时,我的设置是Favorites是true 所以我的问题是 设
ng-show="user.isFavourites"
如果是真的。它正在显示
当我单击第一个选项卡上的联系人列表时。弹出窗口将显示。在弹出窗口中,我有一个按钮是AddFav。Popup是第二个控制器
当我点击AddFav按钮时,我的设置是Favorites是true
所以我的问题是
设置IsFavorites后,当我转到第二个选项卡时,数据将显示为上次更新的字段
我的表格是
<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)
}
});
...
...
controller(“userListControl”,函数($scope、$rootScope、$http)
{
$http.get('data/userData.json').success(函数(数据){
$scope.users=数据;
});
$scope.selectUser=函数(用户){
$rootScope.selectedUser=user;
showPopup();
}
});
});
//带手表的控制器的详细联系方式()
controller(“userDetailsControl”,函数($scope,$rootScope){
$rootScope.$watch(“selectedUser”,函数(newVal){
$scope.user=newVal;
});
$scope.addFav=函数(用户){
$rootScope.selectedUser.isFavorites=true;
console.log($rootScope.selectedUser)
}
});
在第一个控件中,单击联系人列表时使用Selectuser,它将显示弹出窗口中的数据我得到了解决方案 我用广播来做这个 在第二控制器中
$scope.addFav = function(user){
$scope.user.isFavourites = true;
$rootScope.$broadcast('addFavourites', $scope.user);
}
$scope.$on('addFavourites', function (event, data) {
// Here I am doing my stuff..
});
在第一控制器中
$scope.addFav = function(user){
$scope.user.isFavourites = true;
$rootScope.$broadcast('addFavourites', $scope.user);
}
$scope.$on('addFavourites', function (event, data) {
// Here I am doing my stuff..
});
它可能是不同的复制品,我在两个控制器之间传递控件。我已经在watch目录中使用了rootScope。同样,我必须在Watch中使用rootScope,您应该尝试事件广播或控制器通信服务。