我目前正在編寫我的第一個Angular 2應用程序。 我有具有以下簡單的模板的OverviewComponent:角2更改參數的路線
<div class="row">
<div class="col-lg-8">
<router-outlet></router-outlet>
</div>
<div class="col-lg-4">
<app-list></app-list>
</div>
</div>
訪問到/overview
網址/
我的路由器重定向我然後加載路由器,出口內的地圖時。 有一個可點擊的項目列表,觸發一個<app-detail>
而不是應用程序組件。因此,我在URL中傳遞引用的json文件的id:/details/:id
(在我的路線中)。
上述所有工作完全正常的。如果我現在點擊其中一個列表項目,將顯示詳細信息,但是當我選擇另一個列表元素時,視圖不會更改爲新的詳細信息。網址確實發生了變化,但內容未重新加載。我如何實現DetailComponent的重新初始化?
雖然這是一個建議的解決方案,但我遇到的問題是我的組件(具有上面的代碼實現)在路由更改後加載,因此此承諾中的代碼未被解僱 –
您是否可以共享代碼段爲了我明白? – gpanagopoulos
這是迄今爲止更優雅和angulary的解決方案,雖然我寧願更換'resetComponentState()'通過一個更廣義的'initialize'函數,這個函數在組件被創建或參數改變時被調用。 – hGen