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

时间:2018-09-02 22:26:58

标签: angular typescript rxjs

我以为我有solution per this question: rendering-incremental-updates-with-ngfor,但是我想问的是是否有可能只向*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

这些方法会传递其他元数据,从而允许进行增量更改?

1 个答案:

答案 0 :(得分:1)

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