在我检查它是否已经加载之后,当我转到特定页面时,下面发送一个http请求(加载后我添加到状态的标志)。
有没有更好的方法,可能是免费订阅方式呢?
也许在路由器商店有一些钩子,一些效果可以让我检查"状态"和"路线"如果发送动作?
ngOnInit() {
this.pageContentSubscription = this.store.select(fromPageContentReducers.getPageContentLoaded)
.subscribe(loaded => {
if (!loaded) {
this.store.dispatch(new pageContentAction.Load());
}
});
this.pageContentSubscription!.unsubscribe();
}
此外,这也不能同时加载异步加载的真实内容,因为在收到内容之前它将被取消订阅。
但是,如果我将取消订阅移至ngOnDestroy
,则在从该页面注销时将再次加载内容,因为我运行将恢复其初始状态的pageContent.Clear()操作,包括&# 34;装载"标志从" auth.LOGOUT"行动。
@Effect()
clearPageContent$: Observable<Action> = this.actions$
.ofType(auth.LOGOUT)
.map(() => new pageContent.Clear());
那么我对unsubscribe
中的ngOnDestroy
所拥有的内容如下:
*加载页面内容
*用户注销
*交易被清除,状态为#34;已加载&#34;恢复为false,但是
仍然听着#34;加载&#34;将再次触发内容加载的条件
*开始将用户重定向到受保护页面之外的过程
* PageContent取消订阅太晚了
我该如何解决这个问题?