ngOnInit在路由到相同的组件时不会被调用 - Angular 2
问题描述:
我正在使用angular 2 webapp,当我在数组中有数据并将其存储在服务组件中时,我导航到xyz组件。该XYZ组件的ngOnInit()方法得到的业务数据并显示给它的HTML模板。问题是,当我的源阵列数据的变化,我重定向到XYZ组件再后来XYZ的ngOnInit()方法不会被调用这一次。有什么办法可以做到这一点?ngOnInit在路由到相同的组件时不会被调用 - Angular 2
答
您可以订阅组件中的事件。我不知道如何整合这对你的代码,但在我的它看起来像这样:
ngOnInit() {
this._events.xyz.onDataChange.subscribe (() => {
this.onDataChange();
}
onDataChange() {
// Display to HTML Template
}
然后,当你的数据的变化,您使用 this._events.xyz.onDataChange().publish()
我使用的是打字稿class EventsManager,你可以用angular的事件来做这种事情。
你应该等待更有经验的开发者的答案。
你为什么要再次路由......为什么不进行更改后再次获得的数据? – Alex