Warm tip: This article is reproduced from serverfault.com, please click

其他-如何在 Angular 服务中创建html模板并将其用作htmlTemplateRef?

(其他 - how to create html template in angular service and use it as a htmlTemplateRef?)

发布于 2020-12-07 04:39:49

我正在一个大型项目上,我需要一项要求。

我正在使用一个可以为我打开对话框(模式)弹出窗口的库。为此,我需要为该开放模式过程配置一些选项,如下所示:

this.modalService.template(template, { data : { fruit: 'apple'} })

template变量这样声明:

@ViewChild(TemplateRef, { static: false }) template: TemplateRef<{}>;

但是为此,我们需要一个我没有的html模板文件。

我的服务是这样的:

@ViewChild(TemplateRef, { static: false }) template: TemplateRef<{}>;

constructor() {
}

ShowModal(){
   this.modalService.template(template, { data : { fruit: 'apple'} })
}

但我不知道如何在 Angular 服务中使用html模板。

如何html template在中使用html angular service如果有人知道答案,请在这里提及。

Questioner
mayur kukadiya
Viewed
0
Moshezauros 2020-12-07 13:02:14

你可以通过以下两种方式之一进行操作:

  1. 创建一个组件,该组件在初始化后将模板传递给服务,然后将该组件加载到视图中的某个位置。
  2. templateRef调用ShowModal函数通过this.modalService.ShowModal(templateRef, data)

选项1感觉更自然,因为你可以真正轻松地创建模态,而选项2适用于每个选项之间模态完全不同的情况,例如,当你要填写表格时等。

这是一个显示选项1代码片段(并使用指令添加了另一种形式)