嵌入的 Angular 元素自定义元素或 Web 组件

问题描述

我正在使用 angular 元素 10.1.6,开发一个自定义元素 (custom-element2.js),该元素使用另一个使用 angular 7.3.3 版本开发的自定义元素 (custom-element1.js),即,custom-element1 .js 嵌入在 custom-element2.js 中。编译项目时,custom-element2.js 构建成功,没有错误。出于某种原因,当使用 custom-element2.js 时,应用程序不会显示 custom-element1.js,它会生成 html 但什么也没有显示。您知道是否可以使用嵌入式自定义元素?在 angular documentation 中,我没有找到说明可能或不可能的内容

embedded angular elements

解决方法

您将需要 custom-element1 来了解 custom-element2。您可以通过 Angular 组件方式或 Web 组件方式来执行此操作。

对于前者,将 custom-element2 作为库加载到 custom-element1 的 Angular 项目中,然后您可以像使用任何其他 Angular 组件一样使用它。有关如何创建库的详细信息,请参阅文档 https://angular.io/guide/creating-libraries

对于后者,您将向 DOM\Browser 注册 custom-element2 作为自定义元素。您可以在 custom-element1 代码中或 DOM 中的任何位置执行此操作,只要您在某处调用 createCustomElement('custom-element2')。然后,您需要在 custom-element1 的 Angular 应用程序中设置自定义元素架构,以便它知道 <custom-element2> 可以是自定义元素。有关架构的详细信息位于 Angular 文档 https://angular.io/api/core/CUSTOM_ELEMENTS_SCHEMA

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...