带范围变量的ng-class

时间:2015-04-24 06:40:52

标签: angularjs angularjs-scope

<div ng-repeat="app in fields track by $index">
   <span class="{{app.icon}}"></span>
   <span ng-class="app.icon"></span>
</div>

var originalFields = [
  {title: 'Text Field', icon: 'fa-pencil'},
  {title: 'Multiple Choice'}
];

这些类第一次正常工作

当我使用像$scope.fields = angular.copy(originalFields);

这样的东西时

然后它有时有效,但有时无法工作class="app.icon"而不是class="fa-edit"

我甚至尝试在复制后使用$scope.$apply();,但它不起作用

app.icon = "fa-edit"

中的值

我做错了什么?

1 个答案:

答案 0 :(得分:0)

<div ng-repeat="app in fields">
   <span class="{{app.icon}}"></span>
   <span ng-class="app.icon"></span>
</div>

我删除了track by $index它工作正常。

当第一个元素被删除时,它会在使用track by $index时复制第二个元素的属性,我的第一个元素图标属性被第二个元素覆盖。第二个元素没有icon属性。

奇怪!!