角4.3.1如何改變與相同分量的路徑沒有頁面重載
我看起來像這樣的路線:
{ path: ':department', loadChildren: 'app/pages/pages.module#PagesModule' }
而且pagesRoutes
{
path: '',
component: PagesComponent,
pathMatch: 'full',
},
{
path: ':id',
component: PagesComponent,
}
說我瀏覽到/department-name
。 PagesComponent被加載,我做了一個查找來找到部門的默認頁面並加載內容。如果我然後導航到/department-name/1
,PagesComponent
正在被重新初始化和屏幕重新加載,我想找到一種方法,不要重新加載這兩個路線變化之間。在這一點上,如果我導航到/department-name/2
,內容會發生變化,而不會像我想要的那樣重新加載頁面。有沒有一種方法可以重新組織物品,以便在/department-name
和/department-name/id
之間導航時不會遇到組件重新加載?
我發現這hack,我不認爲可以工作,因爲:department
是一個動態生成的路線。除非有一種方法可以讓我在路由器配置中獲得該參數?
還有this SO編寫使用RouteReuseStrategy
,但它使用可用路由的靜態數組重新使用。如果我可以從HTTP調用構建該數組,我可以做到這一點。我想我可以在初始應用程序加載時做到這一點?
有什麼更好的建議嗎?感謝您的期待。
看看https://stackoverflow.com/questions/41393095/angular-2-route-parameter-changes-reload-the-same-page –
謝謝,@ Tim.Burnell。我認爲這個問題是指我遇到的相反問題。我已經訂閱了PageComponent中的參數,並且效果很好。問題是,當我將路由從'/ department'改爲'/ department/1'時,PageComponent被重新初始化,導致頁面重繪並且ngOnInit被再次調用。 – andyrue