这类问题:里面的数据ng-repeat
使用单向绑定,下次渲染元素的时候,有点拿之前的数据渲染。但有些数据显示正确,而其他数据显示来自先前的元素。
使用版本angularjs 1.6.5
。更改版本没有帮助。
这可以在图片ИТОГО
的末尾看到Содержания
。
但是,如果你往里看batarang scopes
,你会看到这样的情况。这是第一个餐厅的数据,slug
等于annamanna99
(我解释一下,我们有 slug
这个餐厅的名字)。
我问自己以下问题,怎么会这样?Annamanna99
显示时的餐厅名称cancoder
另一个例子也是同样的情况。
Еще дополнительная информация: на предыдущей странице (я сделал постраничную навигацию, все загружается с сервера) и все отображается корректно.
А вот оригинальный элемент который дублируется при выводе
Прикрепляю ссылки на код:
order-food.component.ts
order.component.ts - вывод заказов
If you are working with objects track by the identifier(e.g. $index) instead of the whole object and you reload your data later, ngRepeat will not rebuild the DOM elements for items it has already rendered, even if the JavaScript objects in the collection have been substituted for new ones.
сам ответ
本质:从服务器接收数据时,相同的索引保留在第二页上
$index
(对于相同数量的元素)。而且由于我使用 $index 作为唯一标识符,因此 Angular 没有重建 DOM,因为它通过 $index ($$hashKey) 从已经缓存的对象中获取对象。