有没有办法为服务中的现有html模板获取TemplateRef?
问题的背景(因为我可能首先做错了):
我正在创建一个使用NgbModal在弹出窗口中显示某些文本的服务。模态需要一个TemplateRef来显示内容,而我并不知道如何创建内容。其他选项是传递一个字符串(它是转义的,我需要显示html)或传递一个组件(我不知道如何传递所需的文本)。
答案 0 :(得分:5)
两种方式
<template>
:<template>
从外面传给孩子(未经测试)
@Component({
selector: 'foo',
template: '<template #ref1>xxx</template>'
})
class MyComponent {
@ViewChild('ref1') template1:TemplateRef;
constructor(private template2:TemplateRef, private someService:SomeService) {
someService.template2 = template2;
}
ngAfterViewInit() {
this.someService.template1 = this.template1;
}
}
<foo><template>yyy</template>