函数key_helper被调用的次数比预期的多很多。如果orderedkeys的长度是5,它被调用25次而不是5次。我不知道要包含哪些代码来更好地理解我的问题。如何确保它.doesn不要重复
模板:
<td ng-repeat="key in orderedkeys" >
<div>{{Key_Helper(key)}}</div>
</td>
我尝试使用过滤器:(同样的问题)
<td ng-repeat="key in orderedkeys" >
<div>{{key | debug}}</div>
</td>
功能:
$scope.Key_Helper = function(item)
{
console.log("key");
};
答案 0 :(得分:2)
表达式{{}}
不是实际的JavaScript
,而是angular expression。 angular expression
允许您调用$scope
方法和$filter
。
如果在表达式内发生任何函数调用,那么它将执行两次,首先调用函数,然后在下一个digest周期调用第二次, angular以这种方式工作。 $filter
是函数调用。最好使用简单的expression
,例如{{1+1}}
或简单地评估{{key}}
。您可以查看this,this以便更好地理解。