Javascript AngularJS:嵌套ng重复性能
我有一个要求,其中数据是动态的,非常分层3-4级深,每个内部级别可以是一个列表,可以再次包含列表请看我的模板下面。在高达2 ng重复的性能方面,一切看起来都很好,但在3级以后的ng重复中,性能会急剧下降Javascript AngularJS:嵌套ng重复性能,javascript,angularjs,angularjs-directive,angularjs-ng-repeat,Javascript,Angularjs,Angularjs Directive,Angularjs Ng Repeat,我有一个要求,其中数据是动态的,非常分层3-4级深,每个内部级别可以是一个列表,可以再次包含列表请看我的模板下面。在高达2 ng重复的性能方面,一切看起来都很好,但在3级以后的ng重复中,性能会急剧下降 <div class="struct-property"> <div ng-repeat="structGroup in triple.properties track by $index"> <div ng-repeat="props in
<div class="struct-property">
<div ng-repeat="structGroup in triple.properties track by $index">
<div ng-repeat="props in structGroup track by $index">
<simpleproperty triple="props"></simpleproperty>
<multiplevalueproperty triple="props"></multiplevalueproperty>
<div ng-if="props.isStructProperty">
<div class="struct-property">
......
<div ng-repeat="structGroupInner in props.properties track by $index">
<div ng-repeat="propsInner in structGroupInner track by $index ">
<simpleproperty triple="propsInner"></simpleproperty>
<multiplevalueproperty triple="propsInner"> </multiplevalueproperty>
</div>
</div>
</div>
</div>
Please Note: that I have only static data
我使用了track by,但不确定是否正确使用了它。我确实尝试过记录是否使用子对象ng repeat重新创建DOM,我确实看到,对于每个嵌套的ng repeat,都会重新生成父DOM,这就是性能非常差的原因
我还尝试重构数据,以避免嵌套的ng重复,但不幸的是,我无法进一步重构它,因为它是RDF-JSON表示形式
提前谢谢 您错误地使用了track by,而不是$index。您应该使用一个值来标识正在重复的项。数据是否一直在动态更改,或者您是否轮询数据以进行更改,或者您是否先加载数据,然后再重新加载,直到重新加载为止。也许这是有帮助的:@KonstantinKrass,谢谢你的链接,非常有助于调试我的性能问题