【问题标题】:angular ng-repeat fires many times than expected角度 ng-repeat 触发次数比预期的要高很多
【发布时间】:2014-01-06 03:36:31
【问题描述】:

函数 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");    
};

【问题讨论】:

标签: angularjs angularjs-ng-repeat


【解决方案1】:

表达式{{}} 不是实际的JavaScript,这是angular expression。 angular expression 允许您调用$scope 方法和$filter。

如果表达式内部发生任何函数调用,那么它将执行两次,第一次调用函数,第二次在下一个digest 循环中调用,angular 以这种方式工作。 $filter 是一个函数调用。最好使用简单的expression,例如{{1+1}},或者简单地使用{{key}}。您可以查看this、this 以获得更好的理解。

【讨论】:

    猜你喜欢
    • 2015-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-01
    • 2014-10-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多