我正在使用Angular 9(常春藤)。我想在不实际更改页面的情况下触发路由器Guards。使用Angular的当前功能,我该怎么做?
以下是示例代码,这些代码无效起作用,但是应该让我了解我要做什么。
在模板中:
<button type="button" (click)="triggerGuards()">Trigger</button>
在组件中:
public triggerGuards(): void {
// this `navigate()` call does *not* trigger Guards //
this._router.navigate([this._router.url]).then(() => {
this._doSomethingElse();
});
}
我也尝试过this._router.navigateByUrl(this._router.url + '?')
,但这也不能解雇警卫队。
如何在不更改页面的情况下触发路由器守卫?