0
如何重建路由器?當我加載相同的路由器,但與另一個參數,只有URL更改,視圖保持不變。有沒有辦法說路由器 - 「嘿,重建自己!」?Angular2如何重建視圖(路由)
我需要類似window.location.reload()
的效果,但不需要重新加載。
如何重建路由器?當我加載相同的路由器,但與另一個參數,只有URL更改,視圖保持不變。有沒有辦法說路由器 - 「嘿,重建自己!」?Angular2如何重建視圖(路由)
我需要類似window.location.reload()
的效果,但不需要重新加載。
當您使用不同的參數導航到相同的路由時,它會重用該組件。因此ngOnInit
將不會再被調用,所以你可能認爲頁面沒有更新。您應訂閱到ngOnInit routeparam然後執行視圖更新的訂閱功能
進樣活性路線構造
constructor(
private route: ActivatedRoute,
private router: Router,......) {}
In the ngOnInit method, we use the ActivatedRoute service to retrieve the parameters for our route
ngOnInit() {
this.sub = this.route.params.subscribe(params => {
let id = +params['id']; // (+) converts string 'id' to a number
//here goes your logic like below
this.service.getHero(id).then(hero => this.hero = hero);
});
}
也期待在另一個所以question
嘿嘿,謝謝。它工作但很奇怪。我是一個路由器回來。它就像:Cliked A - > nothing,點擊B - >重定向到A,點擊C - >重定向到B。你知道什麼是錯的嗎? – elzoy
向我們展示一些代碼,您可能會看到控制檯表達式上的警告在檢查後發生了變化。嘗試在setTimeout中包裝setter。向我們展示與參數處理相關的代碼 –
對不起,我忘了重構我的代碼。我在裏面訂閱this.route.params.snapshot ['id']而不是params ['id']。謝謝,你搖滾;) – elzoy