【发布时间】:2019-10-31 06:03:42
【问题描述】:
我创建了一个 Angular 库,当我构建我的主应用程序时,它会使用 ngpackagr 构建。一切正常,但是我现在有以下用例:
在我的图书馆中,我有一项服务,它可以做一些事情。我需要等待它完成,所以我想在我的 LibraryService 中执行此操作:
图书馆服务
reload = new Subject<any>();
// Do something else and after some time:
this.reload.next()
在我的真实应用程序代码中,我有另一个服务应该只听它:
this.libraryService.reload.subscribe(()=>{})
但是订阅永远不会被调用。重载主题和我的服务似乎互不了解。
我需要做什么?我已经在我的 app.module.ts 中导入了库模块
【问题讨论】:
-
尝试将您的
Subject更改为BehaviorSubject。BehaviorSubject向所有订阅者发出最后一个值。而Subject仅在有订阅者执行subject.next()时才会发出值。它不会发出先前的值。参考 - stackoverflow.com/questions/56469412/… -
您不应该在您的服务中公开
Subject,您应该将其保密并公开链接的Observable
标签: html angular typescript rxjs ngrx-store