我想为同一个组件使用多个路由而不需要重新实例化。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吗? –