3

有没有办法为服务中的现有 html 模板获取 TemplateRef?

问题的背景(因为我可能首先做错了什么):

我正在创建一个使用NgbModal在弹出窗口中显示一些文本的服务。模态需要一个 TemplateRef 来显示内容,我不完全知道如何创建。其他选项是传递一个字符串(它被转义,我需要显示 html)或传递一个组件(我不知道如何传递所需的文本)。

4

1 回答 1

6

两种方式

  • <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>
于 2016-10-21T06:04:51.660 回答