在构造函数中,我检查redux存储中Web应用程序上的小部件传递的错误/成功消息。
constructor(private store: Store<State>) {
store
.select(StatusBannerState)
.map(data => {
return data.status_banner;
})
.subscribe(banner_state => {
if (banner_state.success_list.length > 0) {
this.showBanner = true;
this.bannerMessage = this.createSuccessBannerMessage(
banner_state.success_list
);
setTimeout(() => {
this.store.dispatch(new BannerDimissesSuccessMessage());
this.bannerMessage = this.createErrorBannerMessage(
banner_state.error_list
);
}, 5000);
} else if (banner_state.error_list.length > 0) {
this.bannerMessage = this.createErrorBannerMessage(
banner_state.error_list
);
} else {
this.showBanner = false;
this.bannerMessage = '';
}
});
}
在初始化时,如果有任何错误/成功消息,它会检查redux存储。如果不存在,则不显示横幅。如果有错误消息,则显示这些消息,但是一旦从小部件传递成功消息(移动,移除已添加),这些消息将显示5秒钟,然后再返回到错误消息。问题是最后一个声明并没有开始。