我试图告诉我的组件重定向到ngOnInit()函数中的页面,但它不起作用。我的代码看起来像这样:
constructor(private router: Router) {}
ngOnInit() {
this.initForm();
}
initForm(){
this.router.navigateByUrl('ng/loan/loan');
}
上面的代码不会让组件将我重定向到我想要的路径,但是如果我在模板文件中添加一个按钮并给它(click)="initForm()"
就可以了。我在这里缺少什么?
答案 0 :(得分:0)
因此,在做了一些研究后,我发现了如何达到预期的效果。从ngOnInit()函数调用this.initForm()的原因并没有触发路由,因为this.router.navigateByUrl是一个promise。我必须在承诺中添加.then()并再次告诉它导航到我想要的路线。
新的initForm()函数:
initForm(){
this.router.navigateByUrl('ng/loan/loan').then(x => {
this.router.navigateByUrl('ng/loan/loan');
})
}