使用AngularJS Material日期选择器时导入ngMaterial遇注入器错误求助
嘿,我之前折腾AngularJS Material的时候也踩过这个模块注入错误的坑,给你梳理几个最常见的排查方向和解决办法:
先确认依赖的引入顺序和完整性
AngularJS Material依赖angular-animate和angular-aria两个模块,而且必须保证引入顺序是:AngularJS核心库 → angular-animate → angular-aria → angular-material。正确的引入示例应该是这样的:<!-- AngularJS核心 --> <script src="path/to/angular.min.js"></script> <!-- Material依赖的动画模块 --> <script src="path/to/angular-animate.min.js"></script> <!-- Material依赖的无障碍模块 --> <script src="path/to/angular-aria.min.js"></script> <!-- AngularJS Material核心 --> <script src="path/to/angular-material.min.js"></script>另外还要注意版本兼容性!你用的是AngularJS 1.6.9,对应的AngularJS Material版本要匹配,比如可以用1.1.19版本,别用太新的Material版本,不然会出现兼容问题。
检查App模块的注入是否正确
确保你在定义kg-App模块时,正确注入了ngMaterial模块,别写错拼写(比如写成ng-material或者material都是错的)。正确的模块定义代码应该是:angular.module('kg-App', ['ngMaterial']);排查资源加载是否失败
打开浏览器的开发者工具(按F12),切换到Network标签,刷新页面后看看angular-material.js、angular-animate.js这些文件的状态是不是200(成功加载)。如果出现404错误,说明文件路径写错了,或者文件根本不存在,要修正路径或者重新下载对应的依赖文件。试试清空浏览器缓存
有时候浏览器缓存了旧的、损坏的依赖文件,也会导致这个错误。可以按Ctrl+Shift+R(Windows/Linux)或者Cmd+Shift+R(Mac)强制刷新页面,清空缓存后再试一次。
如果这些方法都试过还是不行,可以把你的模块定义代码和依赖引入的HTML代码贴出来,这样能更精准地定位问题~
内容的提问来源于stack exchange,提问作者J. Perk

