[英]Angular 2 using share components(removing x type is declared in two modules)
I have 3 modules : ControlsModule, genericManagementNameModule & SharedModule. 我有3个模块:ControlsModule,genericManagementNameModule和SharedModule。 I want to use a use a component(DropDown) from the ControlsModule in a component that's part of the genericManagementNameModule.
我想在一个组件中使用来自ControlsModule的组件(DropDown),该组件是genericManagementNameModule的一部分。 I used to declare the (DropDown) in both modules, but since updating angular it gives that "is declared in two modules" error.
我曾经在两个模块中声明(DropDown),但是由于更新了角度,它给出了“在两个模块中声明”错误。 Where do i need to declare the DropDown component?
我需要在哪里声明DropDown组件?
Controls Module 控制模块
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 Module 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 { }
So i'm basically trying to use DropDownControl from ControlsModule in InventoryEquipmentComponent. 所以我基本上试图在InventoryEquipmentComponent中使用来自ControlsModule的DropDownControl。
Just declare it in one module and add it also to exports: [...]
只需在一个模块中声明它并将其添加到
exports: [...]
then add this module to imports: [...]
wherever you want to use that component. 然后将此模块添加到
imports: [...]
您想要使用该组件的任何位置。
See also Declaring multiple components in @ngModule Angular 2 另请参见在@ngModule Angular 2中声明多个组件
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.