我有一个使用ng-repeat
构建的列表;该列表包含与每个单独项目相关的滑块。更改单个项目会导致整个列表重新呈现。如何防止未更改的项目重新呈现?
<ul ng-repeat="obj in collection">
<li class="obj">
{{obj}}
<input type="range" ng-model = "obj.value">
</li>
</ul>
(在我正在进行的实际项目中,重新渲染整个列表的成本很高,因为有很多MathQuill表达式。而且,滑块是动画的,所以重新渲染会发生很多。)
答案 0 :(得分:1)
您的代码没有任何问题
仅供参考,即使您向其添加内容,列表也不会重新呈现。
您可以通过打开开发人员工具来检查相同的内容
我已经为每个li
添加了数据属性,以便您可以轻松检查列表是否未重新呈现
为了提高性能,您可以使用跟踪表达式,如下所示
<ul>
<li ng-repeat="obj in collection track by obj.name" class="obj" data-name="{{obj.name}}">
{{obj}}
<input type="range" ng-model = "obj.value">
</li>
</ul>
更新了jsinb