gpt4 book ai didi

javascript - 为什么 ng-repeat 中的函数会被调用多次?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:02:56 26 4
gpt4 key购买 nike

我想通过 Controller 函数提供一个 ng-repeat 元素,如下所示:

<div ng-repeat="picture in allPictures(data.pictures)"></div>
$scope.allPictures = function(pictures) {
alert("function called");
//return... extract all pictures and return as array
}

结果:我的 allPictures 函数被调用了多次,尽管我希望它只被调用一次然后迭代结果。

为什么?而且:我怎样才能防止这种情况并真正只调用一次该方法来提供图片?

最佳答案

我真的会避免在 ngRepeat 属性中调用函数,因为它会产生错误和意外行为。

但老实说,我认为您不需要在 ngRepeat 中调用函数。我建议执行以下操作:

<div ng-repeat="picture in allPictures"></div>
$scope.getPictures = function(pictures) {
alert("function called");
//return... extract all pictures and return as array
};

$scope.allPictures = $scope.getPictures();

这样 $scope.getPictures 函数将被调用并创建 $scope.allPictures。 ngRepeat 可以调用该集合而不是函数。

另见我的 fiddle :https://jsfiddle.net/ABr/w6kc8qyh/1/

关于javascript - 为什么 ng-repeat 中的函数会被调用多次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31942336/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com