Angular报错'mbsc-datepicker'非已知元素 MbscModule无法识别如何修复
问题说明
Angular开发中出现'mbsc-datepicker' is not a known element报错,是框架无法识别Mobiscroll的日期选择器组件标签,核心原因是组件对应的MbscModule没有在当前组件所属的作用域内正确导入。
当前使用的组件代码:
<mbsc-datepicker [controls]="['calendar']" display="inline" [options]="calendarSettings"></mbsc-datepicker>
修复方案
按以下顺序排查修复:
- 确认项目已安装Mobiscroll Angular依赖,未安装时在项目根目录执行命令:
npm install @mobiscroll/angular - 找到使用
mbsc-datepicker组件的所属模块文件(常规项目根模块为app.module.ts,懒加载场景对应独立的特性模块文件),在文件头部引入模块:
import { MbscModule } from '@mobiscroll/angular';
- 在对应模块的
@NgModule配置项的imports数组中添加MbscModule,参考配置:
@NgModule({ declarations: [ // 该模块下的组件声明,确保使用mbsc-datepicker的组件已在此处声明 ], imports: [ BrowserModule, // 其他已引入的业务/公共模块 MbscModule ] }) export class AppModule { }
- 如果项目使用Angular 14+的standalone独立组件,不需要在NgModule中注册,直接在使用组件的
.ts文件中引入MbscModule,加入组件装饰器的imports数组即可:
import { Component } from '@angular/core'; import { MbscModule } from '@mobiscroll/angular'; @Component({ selector: 'app-calendar-page', standalone: true, imports: [MbscModule], template: `<mbsc-datepicker [controls]="['calendar']" display="inline" [options]="calendarSettings"></mbsc-datepicker>` }) export class CalendarPageComponent { calendarSettings = {}; }
注意:懒加载模块不会继承根模块导入的第三方模块,必须在组件实际声明的模块/独立组件中单独导入
MbscModule,否则依然会报识别不到元素的错误。
内容的提问来源于stack exchange,提问作者Emil Johansen
相关产品推荐
相关产品推荐

