在使用Angular 9时,有时你会遇到路由导航(router.navigate)无法触发的问题。这可能是由于某些原因导致路由不正确或路由不完整。
要解决这个问题,请确保您的路由是正确的并且没有拼写错误。同时,尝试以编程方式打开一些可用的路由,例如:
import { Router } from '@angular/router'; ... constructor(private router: Router) {} ... this.router.navigateByUrl('/home');
如果仍然有问题,可以尝试使用setTimeout作为解决方法,如下所示:
setTimeout(() => { this.router.navigate(['/home']); });
这种情况下,使用setTimeout是为了给Angular充分的时间来设置交换机并确保路由是正确的。
最后,如果上述解决方法还是无效的话,可以考虑升级Angular版本或提交问题到Angular官方GitHub页面上。