fix(router): lazy loaded components should use loaded injector

This commit is contained in:
vsavkin
2016-07-18 16:07:12 -07:00
parent 7a4f6621ed
commit 921a17960c
4 changed files with 18 additions and 9 deletions

View File

@ -696,14 +696,17 @@ class ActivateRoutes {
const config = closestLoadedConfig(this.futureState.snapshot, future.snapshot);
let loadedFactoryResolver: ComponentFactoryResolver = null;
let loadedInjector: Injector = null;
if (config) {
const loadedResolver = config.factoryResolver;
loadedFactoryResolver = loadedResolver;
resolved.push({provide: ComponentFactoryResolver, useValue: loadedResolver});
loadedFactoryResolver = config.factoryResolver;
loadedInjector = config.injector;
resolved.push({provide: ComponentFactoryResolver, useValue: loadedFactoryResolver});
};
outlet.activate(future, loadedFactoryResolver, ReflectiveInjector.resolve(resolved), outletMap);
outlet.activate(
future, loadedFactoryResolver, loadedInjector, ReflectiveInjector.resolve(resolved),
outletMap);
}
private deactivateOutletAndItChildren(outlet: RouterOutlet): void {