我有一个带有Angular 6的web应用程序。
我有以下结构:
src
-app
-auth - folder
-auth.component.html
-auth.component.scss
-auth.component.ts
-auth.module.ts
-car-details - folder
-binning-table - folder
-binning-table.component.html
-binning-table.component.ts
-binning-table.component.scss
-car-detail.component.html
-car-detail.component.ts
-car-detail.component.scss
-car-detail.module.ts
-import-binning - folder
-import-binning.component.html
-import-binning.component.scss
-import-binning.component.ts
-app.component.html
-app.component.scss
-app.component.ts
-app.module.ts现在,car-detail module注册到auth.module.ts,authModule注册到app.module。
我想将binning-table component加载到import-binning.html中
为了将一个组件加载到另一个组件,应该进行哪些更改。
我需要在哪个模块中注册什么样的连接?
谢谢
发布于 2018-12-18 17:37:18
我们不会在需要的地方注册我们导入的模块,一个模块可以导入到多个模块中(例如,共享模块)。
但是我们只能在一个模块中声明一个组件,如果我们需要在另一个模块中使用相同的组件,我们从相同的模块中导出该组件,然后将该模块导入到需要它的模块中
例如,如果我们在模块名module1中声明了一个名为A的组件,并且如果我们需要在其他模块中使用相同的组件,即模块2,我们可以这样做。
@NgModule({
declarations: [
Acomponent
],
exports: [
Acomponent
]
})
export class Module1 {}
@NgModule({
imports: [Module1]
})
export class Module2通过使用上面的语法,我们可以在module1和module2中使用AComponent,通常,在整个应用程序中共享的组件我们通常将它们放在共享模块中。
发布于 2018-12-18 18:00:02
你需要在'car-details.module.ts‘中声明它,而不是在'app.module.ts’中声明'BinningTableComponent‘。您需要将此相同的组件'BinningTableComponent‘作为导出数组的一部分。
因此car-details.module=>auth.module=>app.module。您可以在app.component.ts中访问'BinningTableComponent‘。
参考stackblitz代码https://stackblitz.com/edit/angular-ivnodq
https://stackoverflow.com/questions/53829645
复制相似问题