Angular 2:通过component.ts重定向

时间:2017-02-20 09:48:42

标签: angular

我试图告诉我的组件重定向到ngOnInit()函数中的页面,但它不起作用。我的代码看起来像这样:

constructor(private router: Router) {}

ngOnInit() {
  this.initForm();
}

initForm(){
  this.router.navigateByUrl('ng/loan/loan');
}

上面的代码不会让组件将我重定向到我想要的路径,但是如果我在模板文件中添加一个按钮并给它(click)="initForm()"就可以了。我在这里缺少什么?

1 个答案:

答案 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');
  })
}