callPrepareAlertValueCount

callPrepareAlertValueCount

我有下一个代码(事件是数组):

<tr ng-repeat="event in events">
    <td>
        <span time-ago="{{event.TimestampSec}}"></span>
    </td>
    <td>
        {{prepareAlertValue(event.AlertValue)}}
    </td>
</tr>

时间间隔-我的自定义指令。它被执行events.length次。

我的 Controller :
...
window.callPrepareAlertValueCount = 0

$scope.prepareAlertValue = function(value) {
    window.callPrepareAlertValueCount++;
    if(safemineHelper.isFloat(value)) {
        value = (~~(value * 100)) / 100;
    }
    return value;
}
...

显示 list 后-我看到callPrepareAlertValueCount增长了。控制台日志:
 > callPrepareAlertValueCount
 < 41890
 > callPrepareAlertValueCount
 < 46150
 > callPrepareAlertValueCount
 < 480315

请有人可以解释为什么始终执行prepareAlertValue。
我是否需要为每个格式化程序功能编写指令?

最佳答案

这是正确的,无论您绑定(bind)在html上什么,它都会在angular js运行的每个摘要循环中调用。

使用{{::prepareAlertValue(event.AlertValue)}}绑定(bind)一次指令,该指令仅执行一次该功能。

08-07 09:55