使模块在 Angular 应用程序中全局可用
Make Module global available in Angular application
我有以下模块,我在其他模块上使用了哪些组件:
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { ClickOutsideModule } from "ng-click-outside";
import { PopupComponent} from './popup.component';
@NgModule({
declarations: [
PopupComponent
],
imports: [
CommonModule,
ClickOutsideModule
],
exports: [
PopupComponent
],
providers: []
})
export class PopupModule {}
我有我的 AppModule:
import { NgModule } from '@angular/core';
import { AppBrowserModule } from './app-browser.module';
import { AppRoutingModule } from './app-routing.module';
import { HomeModule } from './home/home.module';
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent
],
imports: [
AppBrowserModule,
HomeModule,
AppRoutingModule
],
exports: [],
bootstrap: [ AppComponent ]
})
export class AppModule { }
是否可以在App的所有模块中都使用ClickOutsideModule,比如PopupModule,而不需要在每个模块中都导入ClickOutsideModule?
或者我是否总是需要在它使用它的每个模块中导入它?
AppModule 中的 Exports 有什么用?
只需创建一个 SharedModule
,将 ClickOutsideModule
添加到它的 imports
和 exports
数组中。像这样:
import { NgModule } from '@angular/core';
import { ClickOutsideModule } from "ng-click-outside";
@NgModule({
imports: [
ClickOutsideModule,
...
],
exports: [
ClickOutsideModule,
...
],
})
export class SharedModule {}
然后在您想要访问 ClickOutsideModule
模块的任何地方导入 SharedModule
。比如说,如果你想在 AppModule 中使用它,你可以这样做:
...
import { SharedModule } from './shared/shared.module';
@NgModule({
...,
imports: [
SharedModule,
...
],
...
})
export class AppModule { }
您可以对 PopupModule
执行相同的操作:
...
import { SharedModule } from './shared/shared.module';
@NgModule({
...,
imports: [
SharedModule,
...
],
...
})
export class PopupModule { }
我有以下模块,我在其他模块上使用了哪些组件:
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { ClickOutsideModule } from "ng-click-outside";
import { PopupComponent} from './popup.component';
@NgModule({
declarations: [
PopupComponent
],
imports: [
CommonModule,
ClickOutsideModule
],
exports: [
PopupComponent
],
providers: []
})
export class PopupModule {}
我有我的 AppModule:
import { NgModule } from '@angular/core';
import { AppBrowserModule } from './app-browser.module';
import { AppRoutingModule } from './app-routing.module';
import { HomeModule } from './home/home.module';
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent
],
imports: [
AppBrowserModule,
HomeModule,
AppRoutingModule
],
exports: [],
bootstrap: [ AppComponent ]
})
export class AppModule { }
是否可以在App的所有模块中都使用ClickOutsideModule,比如PopupModule,而不需要在每个模块中都导入ClickOutsideModule?
或者我是否总是需要在它使用它的每个模块中导入它?
AppModule 中的 Exports 有什么用?
只需创建一个 SharedModule
,将 ClickOutsideModule
添加到它的 imports
和 exports
数组中。像这样:
import { NgModule } from '@angular/core';
import { ClickOutsideModule } from "ng-click-outside";
@NgModule({
imports: [
ClickOutsideModule,
...
],
exports: [
ClickOutsideModule,
...
],
})
export class SharedModule {}
然后在您想要访问 ClickOutsideModule
模块的任何地方导入 SharedModule
。比如说,如果你想在 AppModule 中使用它,你可以这样做:
...
import { SharedModule } from './shared/shared.module';
@NgModule({
...,
imports: [
SharedModule,
...
],
...
})
export class AppModule { }
您可以对 PopupModule
执行相同的操作:
...
import { SharedModule } from './shared/shared.module';
@NgModule({
...,
imports: [
SharedModule,
...
],
...
})
export class PopupModule { }