1

我正在使用 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 + '?'),但这也不会解雇警卫。

如何在不更改页面的情况下触发路由器守卫?

4

0 回答 0