У меня есть ng-repeat в моем приложении и наблюдайте следующее поведение: когда структура данных за ng-repeat заменяется, ng-repeat отображает некоторые элементы double для короткого время, затем возобновляется до нормального состояния. Это смущает моих пользователей и выглядит ужасно. Любая идея, что может вызвать такое поведение?Угловое ng-repeat messing up при замене массива
Вот видео: я нажимаю «Favourisieren» и наблюдаю за элементами в левой боковой панели. Курсор мыши не отображается.
А вот исходный код нг-повтора в вопросе. Структура данных user.favourited_term представляет собой простой массив объектов.
<li ng-if='user && user.favourited_terms' ng-repeat="termOrCategory in user.favourited_terms">
<a ng-click="handleMenuClick($event)">
<i class="fa fa-star-o"></i>
<span class="menu-item">
<h2>{{termOrCategory.term.name}}</h2>
</span>
</a>
</li>
Как вы это делаете, «структура данных за заменой ng-repeat заменена» этой проблемой. Пробовали ли вы альтернативные способы загрузки необходимых данных в объект массива? (angular.copy, loop и т. д.) –
doupt, что это проблема с ng-repeat –
Я бы предложил использовать 'track by $ index' в вашем' ng-repeat', он позволяет угловым создавать связь с элементом DOM и объект javascript. С этой ассоциацией AngularJS не будет уничтожать и повторно создавать узлы DOM без необходимости. – jnthnjns