Angular 6-为子模块导入共享模块

用户8778731

我正在尝试制作一个共享模块,但是它不希望以某种方式工作。

共享模块如下所示:

import { ModuleWithProviders, NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';

import { SharedMetaModule } from './shared-meta';
import { ApplicationState } from './state/application-state';
import { MilitaryTimePipe } from './pipes/military-time-pipe';
import { KeysPipe } from './pipes/object-pipe';
import { GirlsClass } from './advertisers/girls';

@NgModule({
    imports: [CommonModule],
    declarations: [
        KeysPipe,
        MilitaryTimePipe
    ],
    exports: [
        SharedMetaModule,
        KeysPipe,
        MilitaryTimePipe
    ],
    providers: [ApplicationState]
})
export class SharedModule {
    static forRoot(): ModuleWithProviders {
        return { ngModule: SharedModule };
    }
}

我有一个像这样的app.module.ts:

import { SharedModule } from '@shared/shared.module';
@NgModule({
    imports: [
        ...
        SharedModule.forRoot(),

然后,我有一个profile-gallery.module.ts,其中将使用共享模块中的管道。

如果我没有在profile-gallery模块中导入共享模块,则会出现此错误:

The pipe 'keys' could not be found.

如果将共享模块导入到profile-gallery模块,则会出现此错误:

MetaModule already loaded; import in root module only.

在这种情况下共享模块如何工作?

阿德里安·法丘(AdrianFâciu)

共享模块的目的是多次将其导入所有必需的模块中。因此,不需要forRoot方法来确保仅将其导入一次。

完全删除forRoot方法,并在需要时导入模块:

import { SharedModule } from '@shared/shared.module';
@NgModule({
    imports: [
        ...
        SharedModule,

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Angular2 RC6-在我的子模块中导入BrowserModule

Angular 6模块无法正确导入

Angular 6 + Universal Karma测试导入模块

Angular2子模块导入问题

Angular 2.0-如何导入子模块?

在Angular中导入Web组件(导出为es6模块)

Angular-如何将模块导入子模块?

不能在Angular 6的子模块的app模块内部声明的指令使用

Angular 6-路由到惰性模块的子模块不起作用

子模块中的Angular 6 routerlink和父模块中的router-out(app.component)

Angular 6 从模块中的不同路径导入相同的组件

angular 6 共享模块不适用于其他模块

无法识别Angular 2子模块中的材料导入

Angular 6中模块声明的意外值

Angular 6:如何根据配置添加模块?

Angular 6 模块 - 角度未定义

Angular:将子模块导入另一个子模块将覆盖后者的路由

Angular 6使用两个共享模块:组件不是已知元素:

与Angular模块共享组件

将服务从Angular2重写为Angular6“模块'AppModule'声明了意外的模块'HttpClientModule'

Angular CLI 6.无法在app.module的子模块中使用自定义库组件

Angular 7.如何导入此共享模块?

在Angular6中导入jquery:找不到模块:错误:无法解析'jquery'

在Angular 6中导入“ ngx-bootstrap / datepicker”模块时遇到错误

尝试从Angular 6中的库中导入模块时发生TypeError [ERR_INVALID_ARG_VALUE]

导入DefinitelyTyped模块angular

Angular 导入模块错误

Angular 6:找不到模块'@ angular / cli / plugins / webpack'

Angular 共享模块导出由另一个模块导入的组件