ngOnChanges()不检测路由参数

时间:2016-08-30 08:50:02

标签: angular

我有以下代码:

constructor(private http: Http,
    private route: ActivatedRoute,private router: Router) { 
        this.userID = this.route.snapshot.params['userID'];
    }


    ngOnChanges()
    {
        this.getUser();
    }

此代码来自我的播放器配置文件组件,我从路径参数获取userID并使用this.getUser()对我的服务器进行API调用。

使用ngOnInit()有效,但在同一组件中路由更改为其他用户时,用户不会重新加载。

我改为ngOnChanges(),现在它甚至没有被调用过一次。好像ngOnChanges只适用于@Input()而且我没有。

每当userID更改为其他用户时,我如何重新加载用户数据?

1 个答案:

答案 0 :(得分:1)

这可能有效:

private route: ActivatedRoute,private router: Router) { 
    this.userID = this.route.params.subscribe(params => {
      this.getUser(params['userID']);
    })
}