我正在使用 Angular 9(常春藤)。我想在不实际更改页面的情况下触发路由器守卫。以 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 + '?')
,但这也不会解雇警卫。
如何在不更改页面的情况下触发路由器守卫?