我想爲同一個組件使用多個路由而不需要重新實例化。Angular 2 - 沒有重新實例化的同一個組件的多個路由?
實施例路線:
[
{ path: 'test/:p1', component:component },
{ path: 'test/:p1/:p2', component:component },
{ path: 'test/:p1/:p2/:p3', component:component }
]
在i路徑分量之間切換被重新實例化和旋轉變壓器再運行。我提醒說不要使用查詢參數。 Optional Parameters for angular2 routes #12347
任何想法:
我的情況下,在這個問題上恰恰說明?我需要使用查詢參數嗎?
我的解析器代碼:
@Injectable()
export class MyResolver implements Resolve<MyObject[]> {
constructor(private myService: MyService) {}
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<MyObject[]> {
return this.myService.getData(route.params.id);
}
}
什麼用解析器的問題被再次運行?是關於一些HTTP請求再次被觸發的嗎? 在這個問題上似乎沒有任何更新,所以我相信只有解決方法可以找到這個解決方案呢。 你可以做的是在你的解析器中監視當前路由/下一個被激活的路由,以便在你已經從包含你的組件的路徑出來時不會觸發請求。這可能是一個解決方案 –
即使我從一個包含我的組件的路徑重新實例化(我的解析器獲取http請求)。 – Jarek
你可以顯示你的解析器代碼和組件構造函數/ ngOnInit嗎? –