以下场景:我有一个 Firebase 数据库,其中包含一个列表,用于创建一组“纸卡” dom-repeat
:
<template is="dom-repeat" items="{{items}}">
<my-element card="{{item}}">
<paper-card id="{{card.id}}">
...
</paper-card>
</my-element>
</template>
在 UI 中,用户可以添加或删除纸质卡片,因此 Firebase 中的项目也会被删除。
现在我意识到,如果我更改了一个元素的 CSS(例如,fadeIn、fadeOut 动画),然后删除了一张卡片,然后添加了一张卡片,该卡片仍然具有之前的 CSS 状态(例如,用于淡入/淡出动画)。
我的问题:
DOM 重复如何处理添加或删除的元素?这个元素的所有信息不是都“删除”了吗?
如果我删除第 5 项(共 10 项),元素 6-10 会发生什么情况,它们是被删除并重新创建为“5-9”还是“移动/更改”?
除了 CSS 之外,在模板标签中是否还有其他需要考虑的含义?我需要手动重置什么吗?