首页 > 解决方案 > 范围错误 超出最大调用堆栈大小 Angular

问题描述

所以我想在我的应用程序中添加机器细节和按钮栏,这就是发生的事情。我在其他部分也使用过它,它工作得很好,只有在核心模块中有错误。

错误信息

main.ts

import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';

import { AppModule } from './app/app.module';
import { environment } from './environments/environment';

if (environment.production) {
  enableProdMode();
}

platformBrowserDynamic().bootstrapModule(AppModule)
  .catch(err => console.error(err));

核心模块(添加“IfaButtonModule”或“MachineModule”时出现错误)

@NgModule({
  declarations: [
    TakePhotoComponent,
    ConfirmationDialogComponent,
    ShareMachineComponent,
    NotificationsComponent,
  ],
  imports: [
    CommonModule,
    WebcamModule,
    MatButtonModule,
    TranslateModule,
    MatDialogModule,
    MatFormFieldModule,
    MatInputModule,
    ReactiveFormsModule,
    MatIconModule,
    MatExpansionModule,
    MatBadgeModule,
    MatCardModule,
    MatMenuModule,
    IfaButtonModule,
    MachineModule
  ],
  exports: [
    TakePhotoComponent,
    ConfirmationDialogComponent,
    ShareMachineComponent,
    NotificationsComponent
  ],
  providers: [NgxImageCompressService]
})
export class CoreModule { }

按钮模块

@NgModule({
  declarations: [
    IfaButtonBarItemComponent,
    IfaButtonBarComponent,
    IfaButtonBarGroupComponent
  ],
  imports: [
    CommonModule,
    CoreModule,
    MatButtonModule,
    TranslateModule
  ],
  exports: [
    IfaButtonBarComponent,
    IfaButtonBarGroupComponent,
    IfaButtonBarItemComponent
  ]
})
export class IfaButtonModule { }

机器模块

@NgModule({
  declarations: [
    MachineListComponent,
    MachineDetailEditComponent,
    MachineDetailComponent,
    MachineListItemComponent
  ],
  imports: [
    CommonModule,
    CoreModule,
    MatCardModule,
    MatMenuModule,
    MatListModule,
    MatButtonModule,
    FormsModule,
    ReactiveFormsModule,
    NgxPaginationModule,
    MatFormFieldModule,
    MatInputModule,
    TranslateModule,
    MatDialogModule,
    MatExpansionModule,
    IfaButtonModule,
    OperationModeModule,
    ProtectionModule,
    ManipulationModule
  ],
  exports: [
    MatMenuModule,
    MachineDetailEditComponent,
    MachineListComponent,
    MachineDetailComponent
  ]
})
export class MachineModule {

}

使用组件的 html:(在核心模块区域内)

<ng-container>
  <app-machine-detail [machine]="completeMachine">
  </app-machine-detail>
  <app-ifa-button-bar-group>
    <app-ifa-button-bar-item [label]="'MISC.BACK'" (click)="navigateBack()">
    </app-ifa-button-bar-item>
  </app-ifa-button-bar-group>
</ng-container>

标签: javascriptangulartypescript

解决方案


这可能是因为您CoreModule在. 这不应该发生,您应该重新处理模块依赖项并修复循环导入。有完全相同的问题。MachineModuleMachineModuleCoreModuleIfaButtonModule


推荐阅读