绑定复选框以更新数据

时间:2013-11-27 16:27:52

标签: angularjs

我正在尝试将html复选框绑定到不断更新的数据。

以前,我通过将复选框绑定到某个属性来处理Angular中的复选框;

<input type="checkbox" ng-model="row.isSelected"/>

但是,由于数据始终在更新,因此用户设置的复选框值会被覆盖,因为更新的数据会覆盖isSelected值。

我的问题的一个例子就在这里;

http://jsfiddle.net/TE9K3/4/

我正在考虑其他方法来处理这个问题 - 以前有人处理过吗?

1 个答案:

答案 0 :(得分:1)

只需更换已更改的值,而不是整个对象。这样,所选状态不会因间隔函数而改变。

function ReasonCtrl($scope, $http) {
   $scope.rows = [{id : 1, isSelected : false, date : new Date().getTime()},{id : 2, isSelected : false,  date : new Date().getTime()}];
    setInterval(function() {
        for (var i = 0; i < $scope.rows.length; ++i) {
            $scope.rows[i].date = new Date().getTime();
        }
        $scope.$apply();
    }, 200);  

}

您可以在此处找到更新的小提琴:http://jsfiddle.net/TE9K3/5/