繁体   English   中英

Angular 2使用共享组件(删除x类型在两个模块中声明)

[英]Angular 2 using share components(removing x type is declared in two modules)

我有3个模块:ControlsModule,genericManagementNameModule和SharedModule。 我想在一个组件中使用来自ControlsModule的组件(DropDown),该组件是genericManagementNameModule的一部分。 我曾经在两个模块中声明(DropDown),但是由于更新了角度,它给出了“在两个模块中声明”错误。 我需要在哪里声明DropDown组件?

控制模块

import { NgModule } from "@angular/core";
import { CommonModule } from '@angular/common';
import { BrowserModule } from "@angular/platform-browser";
import { FormsModule } from "@angular/forms";

import { MaterialDatePickerComponent } from './Controls/MaterialDatePicker/MaterialDatePickerComponent';
import { DropDownControl } from './Controls/DropDown/DropDownControl';
import { MultiColumnDropDownControl } from './Controls/MultiColumnDropDown/MultiColumnDropDownControl';
import { MultipleSelectionDropDownControl } from './Controls/MultipleSelectionDropDown';

@NgModule({
    imports: [CommonModule, FormsModule],
    declarations: [MaterialDatePickerComponent, MultiColumnDropDownControl, MultipleSelectionDropDownControl, DropDownControl],
    exports: [MaterialDatePickerComponent, DropDownControl, MultiColumnDropDownControl, MultipleSelectionDropDownControl,
        CommonModule, FormsModule]
})
export class ControlsModule { }

InventoryEquipment模块

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { SharedModule } from './../shared.module';
import { ControlsModule } from './../Assets/Controls.Module';

import { inventoryEquipmentRouting } from './inventoryEquipment.routing';
import { InventoryEquipmentComponent } from './List/inventoryEquipment.component';
import { InventoryEquipmentComponentDefault } from './View/inventoryEquipmentDefault.component';



@NgModule({
    imports: [CommonModule, FormsModule, ReactiveFormsModule, inventoryEquipmentRouting, SharedModule, ControlsModule], 
    declarations: [InventoryEquipmentComponent, InventoryEquipmentComponentDefault],
    exports: [InventoryEquipmentComponent, InventoryEquipmentComponentDefault, ControlsModule],
})
export class InventoryEquipmentModule { }

所以我基本上试图在InventoryEquipmentComponent中使用来自ControlsModule的DropDownControl。

只需在一个模块中声明它并将其添加到exports: [...]

然后将此模块添加到imports: [...]您想要使用该组件的任何位置。

另请参见在@ngModule Angular 2中声明多个组件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM