加载页面时出错:
compiler.es5.js:1690 Uncaught Error:类型LoginComponent是2个模块声明的一部分:LoginModule和AppModule!请
考虑将LoginComponent移动到导入LoginModule和AppModule的更高模块 . 您还可以创建一个新的NgModule,它导出并包含LoginComponent,然后在LoginModule和AppModule中导入该NgModule .
在 @NgModule
我有以下声明:
declarations: [AppComponent, LoginComponent, LanguageComponent]
如何解决这个问题?
在app.module文件的顶部我有导入:
import { LanguageComponent } from './language/language.component';
import { LoginComponent } from "./login/login.component";
以下部分:
@NgModule({
imports: [
BrowserModule,
FormsModule,
HttpModule,
TranslateModule.forRoot(),
NgbModule.forRoot(),
CoreModule,
SharedModule,
HomeModule,
AboutModule,
LoginModule,
AppRoutingModule,
InMemoryWebApiModule,
LocalStorageModule,
ReactiveFormsModule,
ReCaptchaModule,
TextMaskModule,
MdButtonModule,
MdCheckboxModule
],
declarations: [AppComponent, LoginComponent, LanguageComponent],
providers: [
AuthenticationService,
HiderPipe,
TimerService
],
bootstrap: [AppComponent]
})
2 回答
当您想将 Component 用于另一个模块时,您必须执行以下操作 . 假设Login组件在 LoginModule 中,为了在模块外部使用此组件声明并导出组件 . 如果不导出组件,则无法使用UserModule之外的组件
然后你不需要再次将 LoginComponent 声明到App模块中 . 只需导入 LoginComponent 所在的LoginModule .
双重导入loginModuel .
你必须在导入中删除loginModuel:[]