如何使用具有相同名称的其他选择器?

时间:2019-03-07 14:41:17

标签: angular

例如,我有两个模块

  

(1)模块'A'   -具有组件“列表”,选择器“列表”

     

(2)模块'B'   -还有组件“列表”,选择器“列表”

我希望在模块的“列表”组件中同时使用该“列表”组件吗?

如果是,那么如何使用这些组件的选择器?

2 个答案:

答案 0 :(得分:4)

  

如果要使用另一个列表组件和其他模块中的列表组件,可以通过在组件或NgModule中指定entryComponents来使用:

@Component({
  ...,
  entryComponents: [ AListComponent ]
})
export class BListComponent {}


or 


@NgModule({
  ...,
  entryComponents: [ AListComponent ]
})
export class ModuleB {}

BListComponent模板

   // You can then easily use & specify the AListComponent selector here
   <a-list-component></a-list-component>

  

但是,如果这些模块是在诸如root这样的根模块上合并并导入的,则

@NgModule({
  imports: [ AModule, BModule ]
})
export class RootModule {}

然后在 ModuleA 上,只需指定需要导出的组件即可在其他组件上使用

 @NgModule({
  ...,
  exports: [ AListComponent ]    // Export AListComponent to be utilized on BListComponent
})
export class ModuleA {}

BListComponent模板

<a-list-component></a-list-component>

答案 1 :(得分:-1)


import {list} from '../location1/list';
import {list as list2} from '../location2/list';

使用它来避免命名冲突。