我使用angularJS开发应用程序。 我有对象数组。 单击按钮,然后调用controller.clicked函数 更新数组中对象的某些属性。
但是视图中显示的值不会更新。
然后我尝试更新$ timeout()中的值但是没有用。
我该如何解决?
$scope.closeItemTab = function (itemTab) {
//ensure the code will be called in a single $apply block.
$timeout(function () {
var epi;
var len = $scope.itemList.length;
for (var i = 0; i < len; i++) {
epi = $scope.itemList[i];
epi.active = false;
if (epi.paadm_admno === itemTab.paadm_admno) {
$scope.itemList.splice(i, 1);
i--; //reduce index to current element.
}
len = $scope.itemList.length;
}
//active lasted tab.
if ($scope.itemList.length > 0) {
epi = $scope.itemList[$scope.itemList.length - 1];
epi.active = true; //<<force to show 'active' class in view.
}
});
};
===My view is==========================================================
<div ng-repeat="item in itemList" ng-click="closeItemTab(item)">
Hide record #{{item.id}}
</div>
<tr ng-repeat="item in itemList" ng-class="{'active':item.active}">
<td>{{item.firstname}} {{item.lastname}}</td>
<td>{{item.active}}</td>
</tr>