我通过ng-repeat-start(-end)迭代列表中的元素。我正在尝试根据类型动态地向图标添加类。问题是getClass(...)
中的代码似乎多次被执行。
这是HTML。
<li style="display:none;" data-ng-repeat-start="entry in entries"></li>
<li>
<i class="fa" data-ng-class="getIconClass(entry)"></i>
<span data-ng-bind="entry.name"></span>
</li>
<li style="display:none;" data-ng-repeat-end></li>
这是控制器功能。
$scope.getIconClass = function(entry) {
console.log('In getIconClass()');
if(entry.type === 'SYSTEM') {
return 'fa-laptop';
} else {
return 'fa-user';
}
}
当循环执行时,console.log('In getIconClass()')
打印出列表中条目数量的两倍(2个条目4次,4个条目8次等)。
有关为何会出现这种情况的任何想法?传递整个实体并在属性中调用会导致范围被重新评估,因此,视图会因某种原因重新呈现吗?
感谢。