fix(ProtoView): element injector should have either a parent or a host
fix #359
This commit is contained in:
@@ -49,13 +49,10 @@ export class ProtoElementInjectorBuilder extends CompileStep {
|
||||
}
|
||||
|
||||
_getParentProtoElementInjector(parent, current) {
|
||||
var parentProtoElementInjector = null;
|
||||
if (current.isViewRoot) {
|
||||
parentProtoElementInjector = null;
|
||||
} else if (isPresent(parent)) {
|
||||
parentProtoElementInjector = parent.inheritedProtoElementInjector;
|
||||
if (isPresent(parent) && !current.isViewRoot) {
|
||||
return parent.inheritedProtoElementInjector;
|
||||
}
|
||||
return parentProtoElementInjector;
|
||||
return null;
|
||||
}
|
||||
|
||||
_collectDirectiveBindings(pipelineElement) {
|
||||
|
||||
@@ -309,9 +309,11 @@ export class ProtoView {
|
||||
// elementInjectors and rootElementInjectors
|
||||
var protoElementInjector = binder.protoElementInjector;
|
||||
if (isPresent(protoElementInjector)) {
|
||||
var parentElementInjector = isPresent(protoElementInjector.parent) ? elementInjectors[protoElementInjector.parent.index] : null;
|
||||
elementInjector = protoElementInjector.instantiate(parentElementInjector, hostElementInjector);
|
||||
if (isBlank(parentElementInjector)) {
|
||||
if (isPresent(protoElementInjector.parent)) {
|
||||
var parentElementInjector = elementInjectors[protoElementInjector.parent.index];
|
||||
elementInjector = protoElementInjector.instantiate(parentElementInjector, null);
|
||||
} else {
|
||||
elementInjector = protoElementInjector.instantiate(null, hostElementInjector);
|
||||
ListWrapper.push(rootElementInjectors, elementInjector);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user