模板变量不是字符串,它是元素或组件引用。例如,您可以使用它来掌握它@ViewChild()
@Component({
selector: 'my-app',
template: `
<h3>templatePage = {{page}}</h3>
<button (click)="page = page == page1 ? page2 : page1">toggle</button>
<ng-container [ngTemplateOutlet]="page1"></ng-container>
<ng-container [ngTemplateOutlet]="page2"></ng-container>
<ng-container [ngTemplateOutlet]="page"></ng-container>
<ng-template #tPage1>page 1</ng-template>
<ng-template #tPage2>page 2</ng-template>
`,
})
export class App {
@ViewChild('tPage1') page1:TemplateRef;
@ViewChild('tPage2') page2:TemplateRef;
page:TemplateRef;
name:string;
templatePage:string;
constructor() {
this.name = `Angular! v${VERSION.full}`
}
}
Plunker 示例
带有 ViewChildren 的 Plunker 示例