【问题标题】:Push elements to BehavioSubject of array. Typescript Angular将元素推送到数组的 BehavioSubject。打字稿角
【发布时间】:2020-03-02 14:35:39
【问题描述】:

我有一个数组类型的主题,我有 2 个更新主题数据的组件和一个订阅它的组件。想法是,当我从两个组件中的任何一个更新主题时,数组都会被覆盖。我需要能够从这两个组件向主题推送数据,并拥有一个包含两个源信息的组合数组。

我试过了:

 actualizarArchivos(archivos:IArchivo[]){
    this.archivos.next([...this.archivos.getValue(), ...archivos]);
  }

但是当我推送 3 个元素时,它们被重复了,我得到了一个包含 6 个元素的数组。有谁知道有没有办法做到这一点?

【问题讨论】:

  • 只将新存档传递给方法并将方法主体更改为this.archivos.next([...this.archivos.getValue(), archive]);
  • 对我来说看起来不错。你能用一些例子解释你的期望吗?

标签: angular typescript behaviorsubject


【解决方案1】:

正如@Andrei 的评论所建议的那样。仅将新存档传递给这样的方法:

this.archivos.next([...this.archivos.getValue(), archive]);

解决问题。

【讨论】:

    猜你喜欢
    • 2021-12-03
    • 1970-01-01
    • 2017-12-18
    • 2020-04-01
    • 2017-10-07
    • 2020-06-21
    • 2017-07-15
    • 2020-06-26
    相关资源
    最近更新 更多