我遇到以下错误,其根本原因是模块'ngRoute'不可用
未捕获错误:[$ injector:modulerr]无法实例化模块 Amail由于:
错误:[$ injector:modulerr]无法实例化模块ngRoute到期 到:
错误:[$ injector:nomod]模块'ngRoute'不可用!你要么 拼写错误的模块名称或忘记加载它。如果注册了 模块确保您将依赖项指定为第二个 参数“。
Javascript代码:
var amailServices = angular.module('Amail',['ngRoute']);
function emailRouteConfig($routeProvider) {
$routeProvider.
when('/', {
controller: ListController,
templateUrl : 'list.html'}).
when('/view/:id',{
controller : DetailsController,
templateUrl:'detail.html'}).
otherwise({
redirectTo:'/'
});
}
amailServices.config(emailRouteConfig);
如何解决此问题
答案 0 :(得分:46)
答案 1 :(得分:2)
或文件的缩小版......
<script src="angular-route.min.js"></script>
有关此here的更多信息:
&#34;当模块由于某些异常而无法加载时,会发生此错误。上面的错误消息应该提供额外的上下文。&#34;
&#34;在AngularJS 1.2.0及更高版本中,ngRoute已移至其自己的模块。如果在升级到1.2.x后出现此错误,请确保已安装ngRoute。&#34;
中的Error: $injector:modulerr Module Error
部分下列出
答案 2 :(得分:1)
对我来说,解决方法是修复语法错误:
在angular.module函数中删除不需要的半冒号
答案 3 :(得分:1)
由于未将脚本指向正确的路径,我收到此错误。因此,请确保您指向html文件中的正确路径。
答案 4 :(得分:1)
对我来说,由于我的浏览器使用包含该模块的js文件的缓存版本而发生错误。清除缓存并重新加载页面解决了问题。
答案 5 :(得分:0)
这样的错误发生在,
1. You misspell module name which you injected.
2. If you missed to include js file of that module.
有时候人们写js文件名而不是我们注入的模块名。
在这些情况下,会发生角度尝试查找方括号[]中提供的模块。如果它没有找到模块,则会抛出错误。