ViewChildren for ng-template

2020-02-12 04:05发布

问题:

I have a angular2 component for which the template look like this:

<div>
    <div><ng-template #left></ng-template></div>
    <div><ng-template #right></ng-template></div>
</div>

I would like to be able to retrieve a reference to all ng-template element using ViewChildren but I have no idea the type I need to pass between bracket.

回答1:

@ViewChildren(TemplateRef) templates: QueryList<TemplateRef>;

ngAfterViewInit() {
  console.log(this.templates.toArray());
}

or

@ViewChild('left') left:TemplateRef;
@ViewChild('right') right:TemplateRef;

ngAfterViewInit() {
  console.log(this.left, this.right);
}


标签: angular