我有简单的子组件:
@Component({
selector: 'app-child',
template: `<div>My child Component</div>
<ng-template #button>
<app-my-button></app-my-button>
</ng-template>`
})
export class ChildComponent implements OnInit {
@Input() menu:ViewContainerRef;
@ViewChild('button') buttonTemplate:TemplateRef<any>;
constructor() {}
ngOnInit() {
if (this.menu){
this.menu.createEmbeddedView(this.buttonTemplate);
}
}
}
我需要将'ng-template'元素的内容追加到从父组件传递的容器中。 父组件模板可以具有这样的标记:
<div #rightMenu></div>
<app-child [menu]="rightMenu"></app-child>
此处将容器'rightMenu'传递给子输入属性'menu'。 在这段代码中,问题是'menu'字段没有真正的ViewContainerRef类型。它的类型为“任何”。 我们如何将容器引用传递给子组件并附加模板块?