Angular集成ng-circle-progress遇两类错误的技术咨询
解决 ng-circle-progress 集成的两个常见问题
问题1:独立组件中使用 NgCircleProgressModule.forRoot() 触发的错误
错误提示:Component imports contains a ModuleWithProviders value... consider importing them in the application bootstrap instead.
原因很直白:forRoot() 是用来在应用根级别做模块配置的,独立组件的 imports 数组不允许直接放带 forRoot() 的模块配置。
解决步骤:
- 打开项目的
main.ts,找到bootstrapApplication的配置项 - 在
imports数组里加入NgCircleProgressModule.forRoot(你的配置参数),示例:bootstrapApplication(AppComponent, { imports: [ BrowserModule, NgCircleProgressModule.forRoot({ radius: 100, outerStrokeWidth: 16, innerStrokeWidth: 8, outerStrokeColor: "#78C000", innerStrokeColor: "#C7E596", animationDuration: 300 }) ] }) - 回到
SideNavbarCardComponent,只需要在imports里导入NgCircleProgressModule(不带forRoot()):@Component({ selector: 'app-side-navbar-card', standalone: true, imports: [NgCircleProgressModule], templateUrl: './side-navbar-card.component.html', styleUrls: ['./side-navbar-card.component.css'] }) export class SideNavbarCardComponent { ... }
问题2:组件导出找不到的错误
错误提示:Module '../side-navbar-card/side-navbar-card.component' has no exported member 'SideNavbarCardComponent'
即便加了 export,也大概率是这些细节没做好:
- 核对类名与文件名:确保组件类名
SideNavbarCardComponent和文件名(比如side-navbar-card.component.ts)拼写完全一致,TS对大小写敏感,别写错大小写 - 检查导入路径:确认导入该组件的地方,相对路径层级没写错,比如多写或少写了
../ - 手动保存文件:有时候编辑器没自动保存,TS编译器读不到最新代码,手动存一下组件文件
- 确认export语法:保证
export直接写在类前面,比如:
别把export嵌套在其他结构里export class SideNavbarCardComponent implements OnInit { // ... 组件代码 } - 排查循环导入:如果这个组件和其他组件互相导入,会导致TS识别不了导出成员,检查导入关系,去掉循环依赖
内容的提问来源于stack exchange,提问作者suer231232131133
相关产品推荐
相关产品推荐

