我需要根据导航是否成功向用户显示消息 .
我创建了一个路由器防护,以防止用户根据某些条件访问路径 .
但是,我不明白如何从路由器防护中发出 custom events/behaviors ,以便组件可以订阅它?
我尝试了以下来自 https://github.com/angular/angular/issues/14404
的回答
As a workaround you can emit custom events yourself:
constructor(private router: Router) {}
canDeactivate() {
(<any>this.router).routerEvents.next(new MyCustomCanDeactivateEvent());
return true;
}
但不知道如何创建 MyCustomCanDeactivateEvent ?它还使用了Router类的 private routerEvents 属性 .
还有更好的选择吗?也许使用 BehaviorSubject ?