Javascript AngularJS:嵌套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

我有一个要求,其中数据是动态的,非常分层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 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,谢谢你的链接,非常有助于调试我的性能问题