Ionic 4 RouterLink在注销/登录后无法正常工作

时间:2019-11-10 17:45:59

标签: angular ionic-framework ionic4 angular-routing

在开发ionic 4应用程序时遇到一个有趣的错误。 当我注销应用程序并再次登录时,routerLink不再起作用。

routerLinks设置在卡上。在我退出并再次登录之前,它们工作正常。没有错误,浏览器网址正确更改,但是什么也没发生。

我知道这个问题类似于以下问题:ionic 4 + angular: routerLink only works first time,我尝试了提供的解决方案,但它们没有起作用。

npm i @ionic/angular无效。

在卡片上提供点击侦听器也不起作用:

openPage(page: string) {
  this.router.navigateByUrl(this.router.url + '/' + page);
}

我的卡:

<ion-card routerLink="/developers/home/apps">
   ...
</ion-card>

我的登录方法:

login() {
    const token = this.databaseService.getToken();

    if (token) {
      this.storage.set(TOKEN_KEY, token).then(() => {
        this.authenticationState.next(true);
      });
    }
}

我的注销方法:

logout() {
    return this.storage.remove(TOKEN_KEY).then(() => {
      this.authenticationState.next(false);
    });
}

再次登录后,我的应用程序将我正确地引导至具有名片视图的主页。但是在那之后我被困住了。 有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。
为了解决这个问题,我使用了replaceUrl: true

this.router.navigateByUrl('/login', { replaceUrl: true });