Angular 5组件不是任何NgModule的一部分

前端之家收集整理的这篇文章主要介绍了Angular 5组件不是任何NgModule的一部分前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我创建了一个名为“player-create”的新组件,并将其添加到app.module中的声明中.但是,当我尝试加载页面时,它会出现以下错误

组件PlayerCreateComponent不是任何NgModule的一部分,或者模块尚未导入到您的模块中.

PlayerCreateModule.ts

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import {PlayerCreateComponent} from './player-create.component';


@NgModule({
  imports: [
    CommonModule
  ],declarations: [
    PlayerCreateComponent
  ]
})
export class PlayerCreateModule { }

app.module.ts

import { NgModule } from '@angular/core';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppRoutingModule } from './app-routing.module';
import { SharedModule } from "./shared/shared.module";
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';

import { AppComponent } from './app.component';
import { ContentLayoutComponent } from "./layouts/content/content-layout.component";
import { FullLayoutComponent } from "./layouts/full/full-layout.component";

import { AuthService } from './shared/auth/auth.service';
import { AuthGuard } from './shared/auth/auth-guard.service';

import * as $from 'jquery';
import {HomeLayoutComponent} from './layouts/home/home-layout.component';
import {PlayersLayoutComponent} from './layouts/players/players-layout.component';
import {HttpClientModule} from '@angular/common/http';
import {ModalModule} from 'ngx-bootstrap';
import { PlayerCreateComponent } from './pages/player-create/player-create.component';
import { PlayerEditComponent } from './pages/player-edit/player-edit.component';

@NgModule({
    declarations: [
        AppComponent,FullLayoutComponent,ContentLayoutComponent,HomeLayoutComponent,PlayersLayoutComponent,PlayerCreateComponent
    ],imports: [
        BrowserAnimationsModule,AppRoutingModule,SharedModule,HttpClientModule,ModalModule.forRoot(),NgbModule.forRoot()
    ],providers: [
        AuthService,AuthGuard
    ],bootstrap: [AppComponent]
})
export class AppModule { }

解决方法

由于您在另一个模块中声明了组件,因此需要将PlayerCreateComponent添加到PlayerCreateModule的导出中

//PlayerCreateModule.ts 
@NgModule({
  imports: [
    CommonModule
  ],declarations: [
    PlayerCreateComponent
  ],exports: [
    PlayerCreateComponent
  ]
})
export class PlayerCreateModule { }

并在您的主模块中,导入PlayerCreateModule(不仅仅是组件)

//app.module.ts
@NgModule({
    declarations: [
        AppComponent,//PlayerCreateComponent <== not needed if it's declared in another module
    ],NgbModule.forRoot(),PlayerCreateModule //<==== add that
    ],bootstrap: [AppComponent]
})
export class AppModule { }

猜你在找的Angularjs相关文章