更新数组中的对象属性但不影响视图

时间:2015-01-06 10:21:57

标签: javascript angularjs

我使用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>

0 个答案:

没有答案