获取angularJS中更新的Json数据

时间:2014-11-04 06:06:27

标签: jquery json angularjs

我在同一页面使用两个控制器。

First Controller有两个标签。第一个标签有联系人列表,第二个标签有收藏夹列表。

在第一个标签中。我正在显示所有数据。 在第二个Tab中,我显示了基于isFavourites字段的数据

ng-show="user.isFavourites"

如果是真的。它正在显示。

点击第一个标签页上的联系人列表。 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用于单击联系人列表时,它将在弹出窗口中显示该数据

1 个答案:

答案 0 :(得分:0)

我得到了解决方案。

我正在使用广播。

在第二个控制器中

$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..
});