ng-repeat中函数的性能

时间:2018-01-16 13:54:37

标签: javascript angularjs

写这样的ng-repeat是否有区别:

<div ng-repeat="item in getItems()">

和此:

<div ng-repeat="item in items">

让我们说getItems看起来像这样:

$scope.getItems = function() {
  return Object.values(objA).concat(Object.values(objB));
}

在另一种情况下,每次objA和objB更改时我都会维护数组items

1 个答案:

答案 0 :(得分:3)

正如我上面评论的那样,当你与第一个相比时,问题中的后一个将有一个轻微的优势

<强> <div ng-repeat="item in items">

这将在最初加载的项目上执行,并在每个$ digest周期计算表达式。

<强> <div ng-repeat="item in getItems()">

在这里,您正在调用一个函数,该函数将在$ digest循环期间多次执行,并且您在函数内部连接数组,这在性能方面是昂贵的。