【发布时间】:2020-03-10 00:28:42
【问题描述】:
我在使用 Angular 模型模式的应用程序中工作。
我想要实现的是:添加某种类型的文章后,我希望发生两件事:
- 重新加载报纸(这会刷新模型:model.Newspaper);
- 加载报纸后,我想重新加载该特定类型的文章列表(这会刷新模型:model.ArticlesOfSomeType);
无论出于何种原因,我都没有 Articles on Newspaper 的列表属性。
我有两个正在使用的 Observable:
artikelAdded$: Observable<{ newspaperId: number, artikelType: string}>;
newspaperService.load 方法返回一个 Observable。比如说:
load(newspaperId):Observable<Newspaper> {
// observable is created from a Promise of getting the Newspaper
// when the Promise is resolved, here the model.Newspaper is set
}
而且,“reloadArticlesOfType”将设置模型的其他部分:
reloadArticlesOfType(newspaperId, type) = {
model.ArticlesOfSomeType = GetArticles(newspaperId, type);
}
我正在尝试做的事情是这样的:
this.actionCompletedService.artikelAdded$
.pipe(
map(artikelAdded => this.newspaperService.load(artikelAdded.NewspaperId)),
switchMap(loadNewspaper$ => loadNewspaper$)
)
.subscribe(newspaper => this.newspaperService
.reloadArticlesOfType(newspaper.Id, artikelAdded.artikelType));
当然这不起作用,因为当我需要时,我的范围内没有 artikelAdded.artikelType。我不知道如何链接我的 Observables 以获得我想要的东西。我是使用 Angular 和 Observables 的新手,所以欢迎任何帮助。
谢谢!
【问题讨论】: