2013-11-27 93 views
0

我想將html複選框綁定到不斷更新的數據上。綁定複選框來更新數據

此前,我已經在Angular中使用複選框,通過將複選框綁定到像這樣的一些屬性;

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

然而,由於這樣的事實,數據總是被更新,複選框值,由於更新後的數據會覆蓋isSelected值的用戶集被覆蓋。

我的問題的一個例子是在這裏;

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

我試圖想其他辦法來處理這個問題 - 有沒有人先前處理的是什麼?

+0

替換對象,而不是,您可以更新現有的對象屬性。 – Chandermani

+0

確實如此,雖然看起來有些黑客,並且隨着時間的推移對象發生變化而需要維護。 (顯然我的例子是人爲設計的,數據實際上來自REST端點)。 – GrahamB

+0

爲什麼當用戶進行更改時不能更新服務器,以便新數據反映用戶交互? – charlietfl

回答

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/