首页 > 解决方案 > 角度路由将我锁定在一个组件中,我无法路由出当前 url

问题描述

我创建了一个读取项目值并使用以下逻辑重新路由到新组件的方法

  navigate_to_page(url) {
    
    console.log(url)
   
    console.log(['../' + url])
    this.route.navigate(['../' + url])
  }

当我第一次登录时,我会转到仪表板组件并可以移动到任何其他组件。当我更改报告类型时,我不会更改组件。但是,如果我想进入仪表板或设置页面(一个单独的组件),我不能离开报表组件。

编辑:注射部位

constructor(private location: Location, private dataService: ListdataService, private route: Router,private timer: TimerService, private formBuilder: FormBuilder, private sharedService: SharedService, private httpClient: HttpClient, private authService: AuthService) { }

标签: angular

解决方案


我相信您错误地注入了路由器。通过包含您的方法检查我创建的这个 stackblitz项目,它工作正常。请注意以下部分,

 constructor(private router: Router) {}

,

  this.router.navigate([url]);

<a (click)="navigate_to_page('/login')">Login</a>

此外,您可以从组件中的任何位置调用 navigate_to_page 方法。


推荐阅读