我遇到一个问题,Angular JS收到错误:未捕获错误:[$ injector:modulerr]。 我的JS文件看起来
angular.module('MyApp', ['ngRoute']);
angular.module('MyApp',['ngResource']);
function TwitterCtrl($scope,$resource){
}
我还包括angular-route-js
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular.min.js">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular-route.min.js">
Angular文档说问题是http://docs.angularjs.org/api/ngRoute
答案 0 :(得分:44)
尝试添加此内容:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular-resource.min.js"></script>
答案 1 :(得分:37)
在开发中,我建议您使用而不是缩小的分发: 所有错误都会变得更加丰富! 而angular.min.js使用angular.js
lookup_mean <- function(i) {
interval <- filter(daily_activity_pattern, interval == 0) %>% select(steps)
return(interval$steps)
}
答案 2 :(得分:34)
尝试添加:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular-resource.min.js">
和
angular.module('MyApp', ['ngRoute','ngResource']);
function TwitterCtrl($scope,$resource){
}
您应该只使用所有依赖项调用angular.module
一次,因为使用当前代码,您将创建一个新的MyApp
模块覆盖前一个模块。
请注意使用angular.module('myModule',[])将创建 模块myModule并覆盖任何名为myModule的现有模块。使用 angular.module('myModule')来检索现有模块。
答案 3 :(得分:12)
确保你的函数被封装在一个闭包中,并在最后加上extra():
(function(){
var app = angular.module('myApp', []);
})();
答案 4 :(得分:6)
我以前遇到过同样的问题,但我意识到我的主页(app.js
)中没有包含“index.html
”(主应用程序)。
因此,即使包含AngularJS所需的所有依赖项,您也可能在控制台中遇到该错误。因此,请始终确保在主页中包含必要的文件,否则您不应该遇到此问题。
希望这会有所帮助。
答案 5 :(得分:4)
问题是由于缺少ngRoute模块的包含引起的。从版本1.1.6开始,它是一个单独的部分:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0rc1/angular-route.min.js"></script>
var app = angular.module('myapp', ['ngRoute']);
这可以参考:AngularJS 1.2 $injector:modulerr David回答
答案 6 :(得分:4)
我收到此错误,因为我对另一个未加载的模块有依赖。
angular.module(&#34; app&#34;,[&#34; kendo.directives&#34;])。控制器(&#34; MyCtrl&#34;,function(){} ...... < / p>
所以即使我拥有所有Angular模块,我也没有剑道模块。
答案 7 :(得分:3)
确保保存angular.module的变量结构正确。
这将失败&#34;未捕获错误:[$ injector:modulerr]&#34;:
var angApp = angular.module("angApp");
这有效:
var angApp = angular.module("angApp", []);
它是一个偷偷摸摸的,因为错误信息并不特别指向一件事(因此答案种类繁多)。此外,大多数js linters不会抓住细节。坚持下去!
答案 8 :(得分:3)
我遇到了同样的问题。您应该在任何函数之外键入Angular js代码:
$( document ).ready(function() {});
答案 9 :(得分:2)
好的,如果你得到Uncaught Error: [$injector:modulerr]
并且角度模块出现在告诉你的错误中,那么你有一个重复的ng-app模块。
答案 10 :(得分:2)
我遇到了完全相同的问题,解决了这个问题的方法是删除关闭:
$(function(){
var app = angular.module("myApp", []);
app.controller('myController', function(){
...
});
});
<强>变为:强>
var app = angular.module("myApp", []);
app.controller('myController', function(){
...
});
答案 11 :(得分:1)
错误意味着依赖关系注入器无法找到依赖关系&n; ngResource&#39;。接受的答案中的脚本标记提供了这种依赖性。
如果您在依赖项中添加任何自定义模块但未添加脚本标记以包含&#39; .js&#39;您也会收到相同的错误。包含依赖项的文件。
答案 12 :(得分:1)
如果它有帮助就把这个放进去,我遇到了这个问题而且我的原因是因为当我捆绑我的Angular时我引用了主要的app文件作为&#34; AngularWebApp&#34;而不是&#34; AngularWebApp.js&#34;,希望这有帮助。
答案 13 :(得分:1)
我也有同样的问题,我刚从BundleConfig.cs文件中删除了以下代码行,我的代码工作正常。
BundleTable.EnableOptimizations = true;
答案 14 :(得分:0)
不要在cdn链接脚本标记内加载javascript。使用单独的脚本标记来加载AngularJs脚本。
我有同样的问题,但我创建了一个单独的<script>
然后错误就消失了。