angular - 角度路由将我锁定在一个组件中,我无法路由出当前 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) { }
解决方案
我相信您错误地注入了路由器。通过包含您的方法检查我创建的这个 stackblitz项目,它工作正常。请注意以下部分,
constructor(private router: Router) {}
,
this.router.navigate([url]);
和
<a (click)="navigate_to_page('/login')">Login</a>
此外,您可以从组件中的任何位置调用 navigate_to_page 方法。
推荐阅读
- java - Java 8 Map with optional key to map with value of optional as key
- php - 缺少附件 .pdf 扩展名的传入电子邮件
- sql - 当小数点后出现零时在 Presto 中截断
- android-studio - 如何在 Android Studio 4.2 上导入 .AAR 模块
- networking - GCP - 没有 Cloud NAT,但给定公共 IP 离开 VPC
- python - 在弹丸运动中找到击中目标的角度
- django - 为什么 djangoRest 框架 retrieveAPIView 不能用电子邮件过滤?
- uml-designer - UML-Designer:隐藏关联标签
- javascript - 如何根据状态渲染组件
- anaconda - Anaconda Navigator 无法使用 PythonQtError 打开