Angular组件配置后提示无法解析为NgModule类问题求助
问题根因
Angular 对 NgModule 配置项的传入类型有严格约束,你触发错误的核心原因是违反了imports数组的类型规则:
declarations数组:仅允许放入当前模块归属的可声明类,包括组件、指令、管道三类imports数组:仅允许放入带@NgModule装饰器的模块类,不能直接放组件、指令、管道exports数组:允许放入需要对外暴露的可声明类、或者导入的其他模块,供引入了当前SalesModule的模块使用
你把属于组件的PaymentStatusComponent放到了仅接受模块的imports数组中,所以Angular检测到该类没有@NgModule装饰器,直接抛出对应报错。
修复方案
直接删除SalesModule的imports数组中的PaymentStatusComponent即可,如果你的组件中用到了*ngIf、*ngFor等公共指令,记得在imports中引入CommonModule。
修复后的sales.module.ts参考代码:
import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { PaymentStatusComponent } from './payment-status.component'; // 替换为你实际的组件路径 @NgModule({ declarations: [PaymentStatusComponent], imports: [CommonModule], // 这里仅允许放入模块类 exports: [PaymentStatusComponent] }) export class SalesModule {}
内容的提问来源于stack exchange,提问作者Sylvia
相关产品推荐
相关产品推荐

