如何获取angular2中组件的TemplateRef?
我有一个组件,需要将您的如何获取angular2中组件的TemplateRef?,angular,Angular,我有一个组件,需要将您的TemplateRef传递给一个指令,该指令将使用createEmbeddedView方法在模式中复制此组件 我试过了,但没有成功 <template let-ref> <my-component [myDirective]="ref"></my-component> </template> 如何执行此操作?在模板中,在ng模板级别创建一个变量: 您的模板内容 在将其与@ViewChild一起使用的组件中,
TemplateRef
传递给一个指令,该指令将使用createEmbeddedView
方法在模式中复制此组件
我试过了,但没有成功
<template let-ref>
<my-component [myDirective]="ref"></my-component>
</template>
如何执行此操作?在模板中,在ng模板级别创建一个变量:
您的模板内容
在将其与@ViewChild
一起使用的组件中,它将可用于OnInit
@组件({
选择器:“我的组件”,
templateUrl:'my component.html'
})
导出类MyComponent实现OnInit{
@ViewChild('templateref')公共templateref:templateref;
恩戈尼尼特(){
console.log(this.templateref);
}
}
可能
ViewChild
声明可以简化,我还没有对它进行过更多的测试。ref在这里有效吗?这看起来有点奇怪myDirective
位于模板内,您需要从它所属的模板创建指令视图。我认为这行不通。如果它可以工作,您需要将let ref
更改为#ref。您应该知道myDirective
在使用
创建嵌入式视图之前不会被实例化。myDirective
只获取组件的TemplateRef,并传递给创建模式和调用createEmbeddedView()的服务
。我尝试使用#ref
,但没有成功。