refactor(core): add Query.read
and remove DynamicComponentLoader.loadIntoLocation
.
This adds the feature for `@ViewChild`/`@ViewChildren`/`@ContentChild`/`@ContentChildren` to define what to read from the queried element. E.g. `@ViewChild(`someVar`, read: ViewContainerRef)` will locate the element with a variable `someVar` on it and return a `ViewContainerRef` for it. Background: With this change, Angular knows exactly at which elements there will be `ViewConainerRef`s as the user has to ask explicitly of them. This simplifies codegen and will make converting Angular templates into server side templates simpler as well. BREAKING CHANGE: - `DynamicComponentLoader.loadIntoLocation` has been removed. Use `@ViewChild(‘myVar’, read: ViewContainerRef)` to get hold of a `ViewContainerRef` at an element with variable `myVar`. - `DynamicComponentLoader.loadNextToLocation` now takes a `ViewContainerRef` instead of an `ElementRef`. - `AppViewManager` is renamed into `ViewUtils` and is a mere private utility service.
This commit is contained in:
@ -28,9 +28,6 @@ const CORE = [
|
||||
'AfterViewChecked.ngAfterViewChecked():any',
|
||||
'AfterViewInit',
|
||||
'AfterViewInit.ngAfterViewInit():any',
|
||||
'AppViewManager',
|
||||
'AppViewManager.getNamedElementInComponentView(hostLocation:ElementRef, variableName:string):ElementRef',
|
||||
'AppViewManager.getViewContainer(location:ElementRef):ViewContainerRef',
|
||||
'ApplicationRef',
|
||||
'ApplicationRef.bootstrap(componentType:Type, providers:Array<Type|Provider|any[]>):Promise<ComponentRef>',
|
||||
'ApplicationRef.componentTypes:Type[]',
|
||||
@ -104,10 +101,10 @@ const CORE = [
|
||||
'ConcreteType',
|
||||
'ContentChildMetadataFactory',
|
||||
'ContentChildMetadata',
|
||||
'ContentChildMetadata.constructor(_selector:Type|string)',
|
||||
'ContentChildMetadata.constructor(_selector:Type|string, {read=null}:{read?:any})',
|
||||
'ContentChildrenMetadataFactory',
|
||||
'ContentChildrenMetadata',
|
||||
'ContentChildrenMetadata.constructor(_selector:Type|string, {descendants=false}:{descendants?:boolean})',
|
||||
'ContentChildrenMetadata.constructor(_selector:Type|string, {descendants=false,read=null}:{descendants?:boolean, read?:any})',
|
||||
'CyclicDependencyError',
|
||||
'CyclicDependencyError.constructor(injector:Injector, key:Key)',
|
||||
'DebugNode',
|
||||
@ -161,10 +158,10 @@ const CORE = [
|
||||
'DoCheck.ngDoCheck():any',
|
||||
'DynamicComponentLoader',
|
||||
'DynamicComponentLoader.loadAsRoot(type:Type, overrideSelectorOrNode:string, injector:Injector, onDispose:() => void, projectableNodes:any[][]):Promise<ComponentRef>',
|
||||
'DynamicComponentLoader.loadIntoLocation(type:Type, hostLocation:ElementRef, anchorName:string, providers:ResolvedProvider[], projectableNodes:any[][]):Promise<ComponentRef>',
|
||||
'DynamicComponentLoader.loadNextToLocation(type:Type, location:ElementRef, providers:ResolvedProvider[], projectableNodes:any[][]):Promise<ComponentRef>',
|
||||
'DynamicComponentLoader.loadNextToLocation(type:Type, location:ViewContainerRef, providers:ResolvedProvider[], projectableNodes:any[][]):Promise<ComponentRef>',
|
||||
'ElementRef',
|
||||
'ElementRef.nativeElement:any',
|
||||
'ElementRef.constructor(nativeElement:any)',
|
||||
'EmbeddedViewRef',
|
||||
'EmbeddedViewRef.hasLocal(variableName:string):boolean',
|
||||
'EmbeddedViewRef.rootNodes:any[]',
|
||||
@ -344,7 +341,8 @@ const CORE = [
|
||||
'QueryList.toString():string',
|
||||
'QueryList<T>',
|
||||
'QueryMetadata',
|
||||
'QueryMetadata.constructor(_selector:Type|string, {descendants=false,first=false}:{descendants?:boolean, first?:boolean})',
|
||||
'QueryMetadata.constructor(_selector:Type|string, {descendants=false,first=false,read=null}:{descendants?:boolean, first?:boolean, read?:any})',
|
||||
'QueryMetadata.read:any',
|
||||
'QueryMetadata.descendants:boolean',
|
||||
'QueryMetadata.first:boolean',
|
||||
'QueryMetadata.isVarBindingQuery:boolean',
|
||||
@ -438,10 +436,10 @@ const CORE = [
|
||||
'TypeDecorator.annotations:any[]',
|
||||
'ViewChildMetadataFactory',
|
||||
'ViewChildMetadata',
|
||||
'ViewChildMetadata.constructor(_selector:Type|string)',
|
||||
'ViewChildMetadata.constructor(_selector:Type|string, {read=null}:{read?:any})',
|
||||
'ViewChildrenMetadataFactory',
|
||||
'ViewChildrenMetadata',
|
||||
'ViewChildrenMetadata.constructor(_selector:Type|string)',
|
||||
'ViewChildrenMetadata.constructor(_selector:Type|string, {read=null}:{read?:any})',
|
||||
'ViewContainerRef',
|
||||
'ViewContainerRef.clear():void',
|
||||
'ViewContainerRef.createEmbeddedView(templateRef:TemplateRef, index:number):EmbeddedViewRef',
|
||||
@ -470,7 +468,7 @@ const CORE = [
|
||||
'ViewMetadata.template:string',
|
||||
'ViewMetadata.templateUrl:string',
|
||||
'ViewQueryMetadata',
|
||||
'ViewQueryMetadata.constructor(_selector:Type|string, {descendants=false,first=false}:{descendants?:boolean, first?:boolean})',
|
||||
'ViewQueryMetadata.constructor(_selector:Type|string, {descendants=false,first=false,read=null}:{descendants?:boolean, first?:boolean, read?:any})',
|
||||
'ViewQueryMetadata.isViewQuery:any',
|
||||
'ViewQueryMetadata.toString():string',
|
||||
'ViewRef',
|
||||
@ -844,12 +842,12 @@ const COMPILER =
|
||||
'DirectiveAst.constructor(directive:CompileDirectiveMetadata, inputs:BoundDirectivePropertyAst[], hostProperties:BoundElementPropertyAst[], hostEvents:BoundEventAst[], exportAsVars:VariableAst[], sourceSpan:ParseSourceSpan)',
|
||||
'DirectiveAst.visit(visitor:TemplateAstVisitor, context:any):any',
|
||||
'ElementAst',
|
||||
'ElementAst.constructor(name:string, attrs:AttrAst[], inputs:BoundElementPropertyAst[], outputs:BoundEventAst[], exportAsVars:VariableAst[], directives:DirectiveAst[], providers:ProviderAst[], children:TemplateAst[], ngContentIndex:number, sourceSpan:ParseSourceSpan)',
|
||||
'ElementAst.constructor(name:string, attrs:AttrAst[], inputs:BoundElementPropertyAst[], outputs:BoundEventAst[], exportAsVars:VariableAst[], directives:DirectiveAst[], providers:ProviderAst[], hasViewContainer:boolean, children:TemplateAst[], ngContentIndex:number, sourceSpan:ParseSourceSpan)',
|
||||
'ElementAst.getComponent():CompileDirectiveMetadata',
|
||||
'ElementAst.isBound():boolean',
|
||||
'ElementAst.visit(visitor:TemplateAstVisitor, context:any):any',
|
||||
'EmbeddedTemplateAst',
|
||||
'EmbeddedTemplateAst.constructor(attrs:AttrAst[], outputs:BoundEventAst[], vars:VariableAst[], directives:DirectiveAst[], providers:ProviderAst[], children:TemplateAst[], ngContentIndex:number, sourceSpan:ParseSourceSpan)',
|
||||
'EmbeddedTemplateAst.constructor(attrs:AttrAst[], outputs:BoundEventAst[], vars:VariableAst[], directives:DirectiveAst[], providers:ProviderAst[], hasViewContainer:boolean, children:TemplateAst[], ngContentIndex:number, sourceSpan:ParseSourceSpan)',
|
||||
'EmbeddedTemplateAst.visit(visitor:TemplateAstVisitor, context:any):any',
|
||||
'NgContentAst',
|
||||
'NgContentAst.constructor(index:number, ngContentIndex:number, sourceSpan:ParseSourceSpan)',
|
||||
@ -958,7 +956,8 @@ const COMPILER =
|
||||
'CompileProviderMetadata.useFactory:CompileFactoryMetadata',
|
||||
'CompileProviderMetadata.useValue:any',
|
||||
'CompileQueryMetadata',
|
||||
'CompileQueryMetadata.constructor({selectors,descendants,first,propertyName}:{selectors?:Array<CompileTokenMetadata>, descendants?:boolean, first?:boolean, propertyName?:string})',
|
||||
'CompileQueryMetadata.constructor({selectors,descendants,first,propertyName,read}:{selectors?:Array<CompileTokenMetadata>, descendants?:boolean, first?:boolean, propertyName?:string, read?:CompileTokenMetadata})',
|
||||
'CompileQueryMetadata.read:CompileTokenMetadata',
|
||||
'CompileQueryMetadata.descendants:boolean',
|
||||
'CompileQueryMetadata.first:boolean',
|
||||
'CompileQueryMetadata.fromJson(data:{[key:string]:any}):CompileQueryMetadata',
|
||||
|
Reference in New Issue
Block a user