【发布时间】:2016-10-15 19:47:56
【问题描述】:
我正在编写一个 ng2 应用程序并使用基于公开可观察对象的行为主题的应用程序状态服务。对于大多数用例,我想使用 observable A 来查找嵌套对象。我发现了一个奇怪的情况,即 Observable A 没有这些数据,但它在 Observable B 中。 Observable A 和 B 都可以从我的应用程序状态服务中获得。
现在在我的组件中看起来像这样
sharedState: Observable<any>;
constructor(private appStateService: AppStateService) {
this.sharedState = appStateService.shared$;
}
那么在我看来:
<div>{{ (sharedState | async)?.loadedAccountDetails?.accountId }}</div>
举个例子。我想我现在需要在组件中做的是:
- 订阅 Observable A 并检查它是否有我的 loadedAccountDetails 和 account Id 等
- 如果 A 没有此值,则选择 B
我也希望在组件中做的只是公开/拥有一个可观察的实例变量,以便我可以保持我的视图/html 相同。
即使你不熟悉 Angular 2,我也可以解决这个问题,但需要帮助理解如何使用 observables 实现一个 if 语句。
【问题讨论】: