Angularjs ng-class在属性更改时不删除旧值

时间:2015-05-01 18:56:26

标签: javascript arrays angularjs ng-class

我有一个角度应用,它使用数组在视图中使用ng-class填充css规则集。更新阵列时,新规则集将应用于DOM,但旧规则集不会被删除。

单击某个项目会更新我的控制器中的数组,该数组仅在控制器启动时更改一次并添加到要使用的视图范围

// generate an array of values, 1 for each item
        this.scope.valueList = [];
        for(var i in this.scope.items) {
            this.scope.valueList.push(this.generateValue(this.scope.items[i]));
        }

我的HTML

<div ng-repeat="item in valueList">
    <div class="action" ng-class="item.type" focusable>
    <div class="image svg"  ng-class="item.icon" ></div>
</div>

我已经尝试过使用带有bo-class插件的bindonce for angular,所以这个奇怪的更新不会发生,但它仍然存在

整个javascript流程做得很好。在完成此过程之前和之后查看数组显示其工作正常。我已经使用了Chrome调试器,并逐步完成了每个过程的监控。

唯一的问题是我的ng-class没有删除旧的值,它只是增加了新值。刷新应用程序可修复重复问题,仅显示来自controllerArray的当前值

是否存在一些缓存机制或bug,使得ng-class在其观察的属性值发生变化时不会删除旧值?

0 个答案:

没有答案