angular 2 router.navigate undefined

时间:2016-09-29 21:28:38

标签: angular angular-ui-router

我试图使用navigate.route但仍然遇到此错误:TypeError:undefined不是对象(评估'this.router.navigate')

我似乎无法让这个工作,所以我想知道是否有人能指出我做错了什么。这是我的组件,是的,我的路由被定义为{path:'profile',component:Profile}。它与RouterLink的工作正常,而不是在router.navigate中。谢谢!

+

1 个答案:

答案 0 :(得分:1)

您应该在构造函数中注入Router依赖项。我想建议的另一件事是,ds.getAccounts()服务调用应该移动到组件的ngOnInit生命周期钩子。

constructor(private ds:DataService, router: Router) {
    this.router = router;
}

ngOnInit(): void {
    let test = this.ds.getAccounts().then(res => {
       this.agents = res.agents;
    });
    //....other code here as is......
}