我可以使用延迟加载模块创建应用程序的自定义元素吗?

时间:2019-04-18 08:42:36

标签: angular

在Angular中,我有一个应用程序,其中app.module使用延迟加载来加载子模块,并且我希望将该angular应用程序用作自定义元素,以便可以用作其他应用程序的外部组件。

我知道可以在具有app-root的单独应用程序中创建自定义元素,并将其替换为我们的元素,但是当我希望整个应用程序都具有延迟加载模块时,它将无法像在运行时不标识模块那样工作自定义元素。

要了解什么是自定义元素,请参考以下链接: https://angular.io/guide/elements

3 个答案:

答案 0 :(得分:0)

我认为您要做的是创建一个可以在其他应用程序中用作npm依赖项的库。

Angular CLI具有您所需的所有命令行。

这很简单tutorial

答案 1 :(得分:0)

要加载子级,请在路径路径中使用js,并在loadChildren中使用

路线前。

RouterModule.forRoot(routes)

答案 2 :(得分:-2)

一个模块可以包含一个或多个组件,服务或其他模块。一个模块可以直接导入另一个模块,这听起来像您在尝试创建共享模块。

/app.module
   - shared/shared.module
   - lazy/lazy.module
   - lazy2/lazy2.module
  1. 共享模块可以像其他模块一样导入组件和服务,没什么特别的,它只是一个模块,它也exports[]那些组件。
  2. 任何想要使用这些组件的模块都可以导入共享模块。