代码之家  ›  专栏  ›  技术社区  ›  Node.JS

角度误差:请添加@NgModule注释

  •  3
  • Node.JS  · 技术社区  · 7 年前

    我是Angular的新手,我正在尝试编写一个简单的模块化应用程序。但我得到以下错误:

    模块'SomeModule'。请添加@NgModule注释。

    app.module.ts

    这就是

    @NgModule({
      declarations: [
        AppComponent,
        HomeComponent
      ],
      imports: [
        BrowserModule,
        RouterModule.forRoot(appRoutes),
        HttpClientModule,
        ReactiveFormsModule,
        SomeModule
      ],
      providers: [],
      bootstrap: [AppComponent]
    })
    export class AppModule {
    }
    

    这是嵌套模块:

    @NgModule({
      imports: [
        CommonModule,
        SomeComponent
      ],
      providers: [SomeService],
      declarations: [],
      exports: [SomeComponent]
    })
    export class SomeModule {
    }
    

    @Component({
      selector: 'app-index',
      templateUrl: './some.component.html',
      styleUrls: ['./some.component.css']
    })
    export class SomeComponent implements OnInit {
    
      somes: Array<ISome>;
    
      constructor(private http: HttpClient, private service: SomeService) {}
    
      ngOnInit() {
        this.getSomes();
      }
    
      getSomes() {
        this.service.getSomes().subscribe(res => {
          this.somes = res;
        });
      }
    }
    
    3 回复  |  直到 7 年前
        1
  •  51
  •   Lazar Ljubenović    7 年前

    您正在尝试“导入”中的组件 SomeModule

    imports: [
      CommonModule,
      SomeComponent
    ],
    

    你呢 进口 模块和 组件,这正是错误消息告诉您的--您尝试导入一个指令 SomeComponent .

    模块“SomeModule”导入了意外的指令“SomeComponent”。

    某些成分 imports declarations .

    imports: [
      CommonModule,
    ],
    providers: [SomeService],
    declarations: [
      SomeComponent,
    ],
    
        2
  •  5
  •   Anshu Bansal    7 年前

    将组件移动到声明部分。

    NgModule({
      imports: [
        CommonModule
    
      ],
      providers: [SomeService],
      declarations: [SomeComponent]
    
    })
    export class SomeModule {
    }
    
        3
  •  2
  •   Ray    7 年前

    在嵌套模块中尝试此操作。

    @NgModule({
      imports: [
        CommonModule,
      ],
      providers: [SomeService],
      declarations: [SomeComponent],
      exports: [SomeComponent]
    })
    export class SomeModule {
    }
    
        4
  •  2
  •   WasiF    6 年前

    我也面临同样的问题。

    我创造了一个 pipe 把它放进一个盒子里 module 以便多个组件可以访问它。

    我做错了什么?

    @NgModule({
      declarations: [
        CustomDatePipe, // declarating pipe class instead of importing pipe module
      ]
    })
    export class AppModule { }
    

    进口 pipe-module 在里面 AppModule

    @NgModule({
      imports: [
        CustomDateModule,
      ]
    })
    export class AppModule { }
    
    推荐文章