今天,我不得不修复由此引起的代码性能问题:注重updateStats称为模板中函数被调用多次(角JS)
<script type="text/ng-template" id="entityGrouper">
<section>
<div>
<ul ng-click="hideEntityBox = !hideEntityBox">
<li>
{{ entityNode.name }}
</li>
<li ng-repeat="breadcrumbItem in entityNode.breadcrumb">
{{ breadcrumbItem }}
</li>
</ul>
{{ updateStats(entityNode) }}
<span ng-include="'/mypath/views/resume.html'"></span>
</div>
<div>
<div ng-repeat="entityNode in entityNode.group" ng-include="'entityGrouper'"></div>
<div ng-repeat="entity in entityNode.group" ng-include="'entityBox'"></div>
</section>
</script>
模板使用:
<div ng-repeat="entityNode in entityNode.group" ng-include="'entityGrouper'"></div>
调试完这段代码之后,我发现这个函数调用的时间比数组大小多(我的数组有4个对象,函数被调用超过100次),甚至鼠标悬停都称为此函数。 我解决了这个问题,只需在模板中放入一个ng-init,现在它工作正常,但我没有弄清楚为什么这个函数被调用了很多次。有两种数据绑定方式吗?
你递归调用相同的模板?还有一个'
'内部模板 – Developer