阵列更新后Angularjs ng-repeat不会更新

Jim*_*imi 2 javascript angularjs

我不确定我在这里缺少什么,但我正在尝试更新数组中的值,然后将其反映在转发器中.在应用更新之前,我是否需要制作副本或其他内容才能让Angular显示更改?

---样品json

  "lists": [
       {
        "name": "one",
        "enabled": true
       },
       {
        "name": "two",
        "enabled": false
       }
    ]
Run Code Online (Sandbox Code Playgroud)

! - 代码

setTimeout(function(){
    $scope.$apply(function(){
    $scope.lists[1].enabled = true;
});
},1);
Run Code Online (Sandbox Code Playgroud)

!--- html

<span data-ng-repeat="list in lists | filter: {enabled: true}"></span>
Run Code Online (Sandbox Code Playgroud)

lul*_*u88 7

从你正在谈论的"其他控制器"广播事件:

 $rootScope.$broadcast('listChange', listArray);
Run Code Online (Sandbox Code Playgroud)

然后在控制$ scope.lists值的控制器中,监听事件:

  $scope.$on('listChange', function(event, list) {

       $scope.$apply(function() {
           // Update goes here
         });

    });
Run Code Online (Sandbox Code Playgroud)