Angular 使模块在角度应用中全局可用

Angular 使模块在角度应用中全局可用,angular,angular6,angular7,Angular,Angular6,Angular7,我有以下模块,我在其他模块上使用这些组件: import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { ClickOutsideModule } from "ng-click-outside"; import { PopupComponent} from './popup.component'; @NgModule({ declaration

我有以下模块,我在其他模块上使用这些组件:

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 { }
  • 是否可以在所有应用程序模块(如PopupModule)中使用ClickOutside模块,而无需在每个模块中导入

    或者我总是需要在它使用的每个模块中导入它吗

  • AppModule中的导出用于什么


  • 只需创建一个
    共享模块
    ,将
    单击外部模块
    添加到该模块的
    导入
    导出
    数组中。大概是这样的:

    import { NgModule } from '@angular/core';
    import { ClickOutsideModule } from "ng-click-outside";
    
    @NgModule({ 
      imports: [
        ClickOutsideModule,
        ...
      ],  
      exports: [
        ClickOutsideModule,
        ...
      ],
    })
    export class 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 { ClickOutsideModule } from "ng-click-outside";
    
    @NgModule({ 
      imports: [
        ClickOutsideModule,
        ...
      ],  
      exports: [
        ClickOutsideModule,
        ...
      ],
    })
    export class 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 { }