推送到角度中的可观察变量

  • 本文关键字:观察 变量 angular rxjs
  • 更新时间 :
  • 英文 :


我将如何向最初从模板订阅可观察量的集合添加一个额外的对象。所以我的组件中有一个变量,它是一个可观察的变量,然后我做了一些 http 请求并将可观察量设置为这个服务请求,就像这样......

logs$: Observable<any>;
this.logs$ = this.service.getLogs(searchCriteria);

.. 然后在模板中,我使用异步管道订阅了这个可观察量。

<div *ngIf="logs$ | async as logs; else loading">

加载此数据后,有一些功能可以添加新日志,我想将此新日志推送到集合中,以便在保存后显示。我是否可以将新值推送到此可观察量并重新打开对该值的订阅,或者我是否需要在组件中手动订阅此值并将集合放在那里,以便我可以在组件中推送到它。提前谢谢。

this.service.getLogsreuring http 调用是可观察的吗?如果是这样,你就不走运了,因为 http 可观察量在执行后被终止(取消您使用管道共享(( 进入它们(。

如果我是你,我会将日志作为单独的收集。在这种情况下,我可以自由修改该集合,它将在没有任何技巧的情况下由 UI 反映。

我会做什么

this.logs:Array<Logs>; //declaration
this.service.getLogs(searchCriteria).subscribe(result=>logs=result); // execution in onInit

并添加按需登录

this.logs.push(newLog);

最新更新