我需要根据导航是否成功向用户显示消息 .

我创建了一个路由器防护,以防止用户根据某些条件访问路径 .

但是,我不明白如何从路由器防护中发出 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