【问题标题】:Angular 4 ngComponentOutlet and lazy loading modulesAngular 4 ngComponentOutlet 和延迟加载模块
【发布时间】:2017-07-12 00:04:30
【问题描述】:

我目前开始掌握 angular 4 的窍门,特别是动态组件部分。

我成功地复制了 here, plunkr here 描述的 ngComponentOutlet 方法

现在我想做的是延迟加载包含动态组件的模块。我看到 on Github 应该已经实现了这个功能,但是我在 angular 4 方面的经验不足以自己解释源更改,而且我在任何地方都找不到这种方法的示例。

另外,我想在不依赖 a4 路由器和 webpack(如果重要的话)的情况下实现这种延迟加载。

有人愿意帮忙吗?

TIA

【问题讨论】:

标签: angular lazy-loading


【解决方案1】:

可以使用编译器的compileModuleAndAllComponentsAsync方法。大致如下:

ngAfterViewInit() {
  System.import('app/t.module').then((module) => {
      _compiler.compileModuleAndAllComponentsAsync(module.TModule)
        .then((compiled) => {
          const m = compiled.ngModuleFactory.create(this._injector);
          const factory = compiled.componentFactories[0];
          const cmp = factory.create(this._injector, [], null, m);
        })
    })
}

更多信息请阅读Here is what you need to know about dynamic components in Angular。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-22
    • 1970-01-01
    • 2018-10-14
    • 1970-01-01
    • 1970-01-01
    • 2017-05-16
    • 1970-01-01
    • 2018-04-17
    相关资源
    最近更新 更多