2017-04-27 74 views
0

我正在使用angular 2 webapp,當我在數組中有數據並將其存儲在服務組件中時,我導航到xyz組件。該XYZ組件的ngOnInit()方法得到的業務數據並顯示給它的HTML模板。問題是,當我的源陣列數據的變化,我重定向到XYZ組件再後來XYZ的ngOnInit()方法不會被調用這一次。有什麼辦法可以做到這一點?ngOnInit在路由到相同的組件時不會被調用 - Angular 2

+0

你爲什麼要再次路由......爲什麼不進行更改後再次獲得的數據? – Alex

回答

0

您可以訂閱組件中的事件。我不知道如何整合這對你的代碼,但在我的它看起來像這樣:

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

然後,當你的數據的變化,您使用 this._events.xyz.onDataChange().publish()

我使用的是打字稿class EventsManager,你可以用angular的事件來做這種事情。

你應該等待更有經驗的開發者的答案。

相關問題