Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ngRepeatWatch似乎是巴达朗的一个瓶颈_Javascript_Angularjs - Fatal编程技术网

Javascript ngRepeatWatch似乎是巴达朗的一个瓶颈

Javascript ngRepeatWatch似乎是巴达朗的一个瓶颈,javascript,angularjs,Javascript,Angularjs,我刚刚注意到,分析我的AngularJS应用程序会显示以下内容: ngRepeatWatch | 64.2%| 136.0ms 这比下一个报告的指令所花费的时间多10倍 这是否意味着我可能过度使用了ngRepeat指令?如何确保?ngRepeat对于大型集合来说非常慢,因为它为每个项目创建了一个新的范围。如果您更改重复结构中的属性,更改将应用于父范围等。这会降低创建列表的速度 此外,应用筛选器和范围也不会使它变得更好,请在将数据放入模板之前尝试筛选,或者根据您的数据,在服务器端进行筛选 如果不需

我刚刚注意到,分析我的AngularJS应用程序会显示以下内容:

ngRepeatWatch | 64.2%| 136.0ms

这比下一个报告的指令所花费的时间多10倍


这是否意味着我可能过度使用了
ngRepeat
指令?如何确保?

ngRepeat
对于大型集合来说非常慢,因为它为每个项目创建了一个新的范围。如果您更改重复结构中的属性,更改将应用于父范围等。这会降低创建列表的速度

此外,应用筛选器和范围也不会使它变得更好,请在将数据放入模板之前尝试筛选,或者根据您的数据,在服务器端进行筛选

如果不需要将更改传递到所有作用域,或者数据没有更改,请尝试为应该重复的元素创建一个指令,并确保它不继承父作用域

你读过:


ngRepeat
对于大型集合来说相当慢,因为它为每个项目创建了一个新的范围。如果您更改重复结构中的属性,更改将应用于父范围等。这会降低创建列表的速度

此外,应用筛选器和范围也不会使它变得更好,请在将数据放入模板之前尝试筛选,或者根据您的数据,在服务器端进行筛选

如果不需要将更改传递到所有作用域,或者数据没有更改,请尝试为应该重复的元素创建一个指令,并确保它不继承父作用域

你读过:


我对你的回答很满意。我将把这个问题留一段时间,以便其他人也可以添加一些见解。我现在唯一缺少的是回答自己:如何知道哪个
ng repeat
是瓶颈。这是非常重要的,因为我有很多,我不能仅仅根据我的直觉开始重构,这可能会有问题。我对你的答案很满意。我将把这个问题留一段时间,以便其他人也可以添加一些见解。我现在唯一缺少的是回答自己:如何知道哪个
ng repeat
是瓶颈。这是非常重要的,因为我有一大堆,我不能仅仅凭直觉开始重构,因为这可能会有问题。