我对角度动画及其核心工作方式还是陌生的,无法找到清晰的文档或对此特殊行为的帮助。所以我的问题是我有一个定义为
的打字稿字典 dictionary: { [id:number] : FormData[] }
= {};
和一个角度动画,当使用:enter
过渡添加时,该动画设置为使该词典中的每个项目都具有动画效果,并且正在使用*ngFor
列出对象中的某些数据,所有这些工作,但是,每次我将新项目添加到字典中或将其删除时,它都会触发每个项目的动画,而不仅仅是为添加的项目触发动画。我在不使用字典数据结构而不是索引数组的情况下进行了测试,没有出现相同的问题,但是就我如何构造HTML而言,这对我来说要困难得多。
我的猜测是,在添加,更新或删除数组和对象时,它们的工作方式有所不同,而angular无法像处理索引数组一样处理这种差异。
我只是使用像这样的键向该字典添加元素
dictionary[id].push(data);
会导致整个列表具有动画效果,而不是新插入的ID。有没有人知道这是否可能以这种方式使用字典为项目列表设置动画,或者是数组是添加新项目时正确为数据列表设置动画的唯一方法。