有没有办法为服务中的现有 html 模板获取 TemplateRef?
问题的背景(因为我可能首先做错了什么):
我正在创建一个使用NgbModal在弹出窗口中显示一些文本的服务。模态需要一个 TemplateRef 来显示内容,我不完全知道如何创建。其他选项是传递一个字符串(它被转义,我需要显示 html)或传递一个组件(我不知道如何传递所需的文本)。
有没有办法为服务中的现有 html 模板获取 TemplateRef?
问题的背景(因为我可能首先做错了什么):
我正在创建一个使用NgbModal在弹出窗口中显示一些文本的服务。模态需要一个 TemplateRef 来显示内容,我不完全知道如何创建。其他选项是传递一个字符串(它被转义,我需要显示 html)或传递一个组件(我不知道如何传递所需的文本)。
两种方式
<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>