【问题标题】:angular lazy loading of component without router or import or loadChildren [duplicate]没有路由器或导入或loadChildren的组件的角度延迟加载[重复]
【发布时间】:2017-04-04 01:05:25
【问题描述】:

有没有一种方法可以直接从 html 中的标签(如 <my-component></my-component>)以角度延迟加载组件?

在组件模板解析期间,当 Angular 发现任何在 html 中不可用或尚未加载的新标签时,它应该将整个组件加载到浏览器中。

我知道我们可以使用loadChildren 加载一个模块,它只针对路由,还需要加载模块及其组件。我只搜索组件,直接搜索组件而不是模块。

我不想使用路由器或不想在我的应用程序中导入组件 ot 模块。我想当 angular2 找到不在 html5 中的标签时,它将在 spcictfic 文件夹中搜索并加载 js 和 html 文件并将该组件注入特定标签中

【问题讨论】:

  • @yurzui 重复标记的链接是关于延迟加载模块而不是组件。我问过如何在不考虑模块或其他任何东西的情况下延迟加载组件。
  • Angular 不支持没有模块的延迟加载组件。在任何情况下,您都必须创建模块,即使它只包含一个组件
  • @yurzui 所以这个问题不是重复的吗?

标签: angular


【解决方案1】:

在您的情况下,您必须将动态组件加载与组件生成器一起使用,这对 AOT 有限制,动态组件将不适用于 AOT。

动态组件加载将找到您的标签并在 DOM 中加载适当的组件

【讨论】:

  • 动态组件可以与AOT一起使用
  • 我可以有文章或链接,我可以看看。我真的需要在我的项目中实施
  • stackoverflow.com/questions/40060498/…For AOT compilation see these threads
  • @yurzui:感谢您的链接,如果需要任何帮助,我会检查并通知您。
  • 在上面的示例中,您运行时在 RuntimeComponentModule 中添加 RunTimeCompiledComponent 并定义入口点。如果我有多个组件并且其中我必须在“RuntimeComponentModule”中添加任何一个怎么办?不是默认的(RunTimeCompiledComponent)。在我的页面中,没有任何预定义该组件将动态加载,它是通过配置进行的,因此任何组件都可以动态加载
猜你喜欢
  • 2019-04-03
  • 1970-01-01
  • 2020-12-03
  • 1970-01-01
  • 1970-01-01
  • 2018-11-11
  • 1970-01-01
  • 2018-12-15
  • 1970-01-01
相关资源
最近更新 更多