角度:使用条件在页面之间路由

问题描述 投票:0回答:3

我正在尝试使用Angular中的基本if条件在页面之间进行路由。

  GoToHome() {
    if(this.router.url=='/chat'){
      console.log(this.router.url)
      this.router.navigate(['login']);
    } else {
      this.router.navigate(['people']);
    }
  }

问题是路由聊天不是真正正确的,聊天中有很多页面(chat \ x,chat \ y等),我希望它对聊天中的所有页面都有效,但是现在不起作用。如果我编写诸如chat \ x之类的特定路由,则它确实有效,但仅适用于x。有办法做到全部吗?

html angular typescript routing
3个回答
0
投票

您可以阅读并检查Guards。了解有关CanActivate方法的信息,也许会对您有所帮助?


0
投票

RouteGuards可以根据您的要求更好地处理重定向。

但是一个快速的解决方法是在URL上执行split()并比较split()部分。尝试以下]]

chat

0
投票

正如其他人所说,最好的解决方案是使用Angular Guard if(((this.router.url).split('/')[1]) === 'chat') { // proceed }

© www.soinside.com 2019 - 2024. All rights reserved.