仅将增量更改广播到* ngFor?

问题描述 投票:0回答:1

我以为我有solution per this question: rendering-incremental-updates-with-ngfor,但我要问的是,是否可以仅向to*ngFor发送增量更改?

例如,假设组件已经渲染了10个Todo实例的数组。广播实例的主体是否可以仅发送增量更新?

我们可以做subject.next(todo)只播放刚刚添加的todo吗?

只是看着它似乎很明显它不能,因为没有办法知道它是删除还是添加带有API调用的项目,但我希望可能有类似的东西:

subject.delete(todo)//delete the todo
subject.put(todo)//update todo
subject.post(todo)//add another todo

这些方法会传递额外的元数据,以允许进行增量更改?

angular typescript rxjs
1个回答
1
投票

Angular在这种情况下使用differs。当您将trackBy添加到*ngFor时,使用IterableDiffer来跟踪之前和当前值之间的difference。 如果您有复杂的数据结构,可以实现custom differ

© www.soinside.com 2019 - 2024. All rights reserved.