ngOnInit在路由到相同的组件时不会被调用 - Angular 2

ngOnInit在路由到相同的组件时不会被调用 - Angular 2

问题描述:

我正在使用angular 2 webapp,当我在数组中有数据并将其存储在服务组件中时,我导航到xyz组件。该XYZ组件的ngOnInit()方法得到的业务数据并显示给它的HTML模板。问题是,当我的源阵列数据的变化,我重定向到XYZ组件再后来XYZ的ngOnInit()方法不会被调用这一次。有什么办法可以做到这一点?ngOnInit在路由到相同的组件时不会被调用 - Angular 2

+0

你为什么要再次路由......为什么不进行更改后再次获得的数据? – Alex

您可以订阅组件中的事件。我不知道如何整合这对你的代码,但在我的它看起来像这样:

ngOnInit() { 
    this._events.xyz.onDataChange.subscribe (() => { 
     this.onDataChange(); 
    } 
onDataChange() { 
    // Display to HTML Template 
} 

然后,当你的数据的变化,您使用 this._events.xyz.onDataChange().publish()

我使用的是打字稿class EventsManager,你可以用angular的事件来做这种事情。

你应该等待更有经验的开发者的答案。