angular - 如何在其他延迟加载模块中使用模块中的组件

标签 angular angular5

我正在尝试在延迟加载模块的其他组件中使用特定模块中的一些组件。

我将向您展示示例以更好地理解!

project:
app.module
app.route
shared.module

modules/
    lazy-load-1.module
    lazy-load-2.module
    reusable.module

在每个模块内部我都导入了一个shared.module。 在 reusable.module 内部,我有一些组件要在其他模块内部使用,但其他模块是延迟加载模块。

例如:

@NgModule({
  imports:      [ someImportsHere ],
  declarations: [ someImportsHere ],
  exports:      [ someImportsHere ]
})
export class SharedModule { }

@NgModule({
  imports:      [ SharedModule, ReusableModule ],
  declarations: [ someImportsHere ],
  bootstrap: [AppComponent],
})
export class AppModule { }

const appRoutes: Routes = [
  {
    path: 'lazy-load-1',
    loadChildren: 'app/modules/lazy-load-1/lazy-load-1.module#LazyLoad1Module',
  },
  {
    path: 'lazy-load-2',
    loadChildren: 'app/modules/lazy-load-2/lazy-load-2.module#LazyLoad2Module',
  },
  {
    path: '**',
    redirectTo: 'lazy-load-1'
  }
];


@NgModule({
   exports: [
      RouterModule
   ],
   imports: [
      RouterModule.forRoot(appRoutes, { useHash: true })
   ]
})

export class AppRouter { }

模块/

@NgModule({
  imports:      [ SharedModule ],
  declarations: [ TestComponent ],
})
export class LazyLoad1Module { }

@NgModule({
  imports:      [ SharedModule ],
  declarations: [ OtherTestComponent ],
})
export class LazyLoad2Module { }

@NgModule({
  imports:      [ SharedModule ],
  declarations: [ ReusableComponent ],
  exports: [ ReusableComponent ]
})
export class ReusableModule { }

我正在尝试上面类似的方法,但是当我尝试在 LazyLoad 模块内使用 ReusableComponent 时,我收到此错误: 拒绝:错误:模板解析错误: “app-reusable-component”不是已知元素。

最佳答案

如果您有多个模块并希望将您的组件共享给其他模块,您需要导出

像这样

@NgModule({
  declarations: [your_component],
  exports: [your_component]
})

关于angular - 如何在其他延迟加载模块中使用模块中的组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50033677/

相关文章:

javascript - 用于 Angular 2+ 的 Hammer.js

json - 如何在 Angular 5 中显示来自 Json Mapper 的数据?

angular - <nb-tab> 如何在切换选项卡时调用 nebular nb-tab 中的用户定义函数

angular - 通过唯一 ID 识别 Angular 组件实例

node.js - heroku 中的 Angular2 路由

Angular ngx-bootstrap 崩溃不是动画

css - CSS 动画会导致 Angular 2 停止渲染吗?

angular - 如何访问兄弟指令对象(不是 DOMNode)

angular5 - 如何从 5 角订阅中返回 promise

angular - 如何在外部配置文件中定义变量并在 app.module 中使用它