簡體   English   中英

在Angular 4中router.navigate之后如何重新加載視圖?

[英]How to reload a view after router.navigate in Angular 4?

我有一個切換到商店功能的功能,該功能由標題組件控制,並顯示該場所的儀表板。

在該標頭組件中,即使我已經在該路由中,也導航到儀表板路由。

this.router.navigate(['/venues', this.currentVenue._id, 'dashboard']);

但是它不會再次觸發ngOnInit鈎子,因此不會重新加載我的視圖。

這種情況下正確的解決方法是什么?

您是否需要重新加載視圖? 還是只獲取一些數據?

如果只需要根據路由參數來獲取數據,則可以執行以下操作:

ngOnInit(): void {
    this.route.params.subscribe(
        params => {
            const id = +params['id'];
            this.getMovie(id);   // <- Or whatever you need to do here
        }
    );
}

在ngOnInit中,此代碼訂閱了route參數。 因此,每次參數更改時,即使未更改/重新加載視圖,該更改也將作為預訂的一部分並執行關聯的回調。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM