错误是:
Error: BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.
at new BrowserModule
两天后我搜索了Internet,但没有找到可行的解决方案:
添加和删除BrowserModule并在NotificationModule中导入CommonModule,不使用它。。
在此处查看屏幕截图:https://i.stack.imgur.com/sM9ZS.png
我有两个模块,
我的目标是:我的app.module中有SearchComponent,我需要进入notification.module。
在AppModule中,我定义:
imports: [
BrowserAnimationsModule,
HttpClientModule,
BrowserModule,
AppRoutingModule,
FormsModule,
ReactiveFormsModule,
NgxSpinnerModule,
NgSelectModule,
CalendarModule,
PopoverModule.forRoot(),
TabsModule.forRoot(),
TooltipModule.forRoot(),
AccordionModule.forRoot(),
NgxUsefulSwiperModule,
PickerModule,
NgxFileDropModule,
NgxMaterialTimepickerModule,
PlyrModule,
NgbModule,
SocketIoModule.forRoot(config),
ContenteditableModule,
ScrollEventModule,
NgxStarsModule,
NgImageSliderModule,
NgxImageZoomModule.forRoot(),
ProgressBarModule,
InfiniteScrollModule,
ColorPickerModule,
NgxBraintreeModule,
QRCodeModule
],
exports: [
SearchComponent ,
],
路由AppModule:
{
path: 'Notification',
loadChildren: () => import('./notification/notification.module').then(m => m.NotificationModule)
},
和我的NotificationModule:在这里我导入app.module
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { AppModule } from '../app.module';
import { NotificationRoutingModule } from './notification-routing.module';
import { ListComponent } from './list/list.component';
@NgModule({
declarations: [
ListComponent
],
imports: [
CommonModule ,
AppModule ,
NotificationRoutingModule
]
})
export class NotificationModule { }
路由NotificationModule为:
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { ListComponent } from './list/list.component';
const routes: Routes = [
{
path: 'List',
component: ListComponent
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class NotificationRoutingModule { }
我们非常感谢您的帮助。
答案 0 :(得分:2)
从NotificationModule中删除AppModule。
答案 1 :(得分:1)
出现错误的原因是因为在通知模块中,您再次导入了App模块。
@NgModule({
declarations: [
ListComponent
],
imports: [
CommonModule ,
AppModule ,// remove this line.
NotificationRoutingModule
]
})
export class NotificationModule { }
如果app模块中需要某些内容,则将其提取到单独的共享模块中,然后导入该模块。