【发布时间】:2026-01-12 01:55:02
【问题描述】:
我无法在堆栈或谷歌上找到答案...
为什么在 ng-bind 多次调用 中起作用?
html:
<li ng-if="byProviders" ng-repeat="(key, value) in byProviderGames | groupBy: 'provider'">
<p ng-bind="providersNames(key)"></p>
</li>
控制器:
$scope.providersNames = function providersNames(key) {
// providersObject's length is 8
var index = $scope.providersObject.findIndex(function(x){ return x.name == key });
// Call more then 1000 times
console.log($scope.gamesProviders[index]);
var title = $scope.providersObject[index].title;
return title;
}
【问题讨论】:
-
能否请您添加更多代码,是否在 ng-repeat 中?控制器是否在指令中使用?由于摘要循环的工作方式,该函数至少会被调用两次。还有其他因素,比如上面的问题。
-
@alphapilgrim 我编辑我的代码。是的,它在内部 og 一个 ng-repeat ,控制器在指令和函数中使用了 1000 次以上,但它应该被调用 8 次。
-
是否有任何其他指令或视图使用相同的控制器?
-
@alphapilgrim ,没有
-
我认为这与
var title = $scope.providersObject[index].title;查找有关。这个数组是在哪里形成的?是来自一些 http 响应吗?