AngularJS创建组件报错:模块myApp不可用([$injector:modulerr])
解决AngularJS [$injector:modulerr] / [$injector:nomod] 错误的思路
这个错误本质是Angular找不到你的myApp模块,我帮你梳理几个最常见的排查和解决方向:
先确认模块定义的语法是否正确
AngularJS创建模块时,必须传递第二个参数(依赖数组,空数组也可以),比如:// 正确:创建新模块,即使没有依赖也要传[] angular.module('myApp', []);如果你写成
angular.module('myApp'),这是获取已存在的模块,如果模块还没创建,就会触发这个错误。检查脚本加载顺序
一定要先加载AngularJS的核心库,再加载你自己的业务脚本。如果你的自定义脚本在Angular之前加载,代码里的angular对象还不存在,自然没法创建myApp模块。核对模块名称的拼写一致性
所有用到myApp的地方(比如HTML里的ng-app="myApp",或者控制器、组件挂载模块时),拼写、大小写必须完全一致。Angular对模块名称是区分大小写的,哪怕多一个空格都不行。组件注册要挂载到正确模块
如果你是在AngularJS 1.5+中创建组件,要确保组件是注册在已定义的myApp模块上,比如:angular.module('myApp') .component('myComponent', { template: '<p>我的组件</p>' });不要单独创建新模块或者挂载到错误的模块上。
内容的提问来源于stack exchange,提问作者david
相关产品推荐
相关产品推荐

