javascript - 如何在 Angular 中使用运行时模板制作组件?

标签 javascript angular

我需要编写一个页面,该页面将在服务器中定义其模板。该页面向服务器发出 HTTP GET 请求并获取将作为模板的字符串。

我正在尝试遵循我在这里找到的示例:runtime-content.component.ts

但是,在此模板中,我将引用其他组件,例如 <app-hello></app-hello>当我尝试渲染时,我得到了 'app-hello' is not a known element .

如何告诉该组件使用某个模块或识别某些组件?

enter image description here

最佳答案

您只需在此处包含组件引用(声明):

@NgModule({ imports: [CommonModule, RouterModule], declarations: [decoratedCmp, ...declarations] })
class RuntimeComponentModule {}

并在 compileTemplate 上添加发送数据

(this.componentRef.instance as any).data = this.data;

因此,您的包装器将具有可在模板上使用的数据

在动态模板上,您可以使用data将信息发送到其他组件:

<app-something [content]="data?.content"></app-something>

关于javascript - 如何在 Angular 中使用运行时模板制作组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60834293/

相关文章:

javascript - 使用 chrome 扩展程序将图像上传到服务器

javascript - 如何使用 *ngIf else 渲染组件

html - Angular 2上传多个文件

angular - 尝试在 Angular 中创建可重用表单组件时出错

angular - 增强中的模块名称无效。模块 'chart.js' 解析为 '/src/chart.js' 处的无类型模块,无法对其进行扩充

javascript - 将所有 TypeScript 文件包含在 .csproj 中后出现 Typescript 错误

javascript - 提交操作后关注特定的 'id'

javascript - 获取占位符容器拖放的父 ID

javascript - INTEL XDK Ajax 响应不工作

javascript - VueJS 2 + typescript : computed value does not detect property defined by data