2013-03-18 37 views

回答

30

我有同样的问题(当IE < 9)和我花了永远追查......

angular.module('app', ['app.directives', 'app.filters', 'app.services', ]); 

注后“app.services”后面的逗号。

+1

知道IE <9不支持尾随逗号(以及令人难以置信)非常有帮助。我通常在任何地方都使用它们,因为它使添加项目变得更容易 – rintaun 2013-05-03 14:30:13

+0

谢谢! IE8就是这样的笑话!尽管如此多的客户仍在使用它! – Jmorvan 2014-12-09 09:41:10

+0

感谢我,这是一个领先的逗号:'[,'app.directives','app.filters','app.services']' – pulkitsinghal 2015-04-30 05:09:02

1

当我尝试内联结束脚本标记导致IE无法加载所有脚本时,出现类似的错误。检查您的脚本中是否包含结束标记。

举例说明:

<script src="js/services.js"></script> 
<script src="js/controllers.js"/> <!-- THIS IS A PROBLEM FOR IE --> 
<script src="js/filters.js"></script> 
<script src="js/directives.js"></script> 
<script src="js/myApp.js"></script> 

在IE9这将导致:

SCRIPT5022: No module: myApp.filters 
angular.min.js, line 17 character 195 

不完全一样,但我不能测试它在IE8。但是,在Chrome上,这个功能完美无缺。关于这个的奇怪的事情,实际上是它似乎无法找到的东西,是在内联结尾的脚本之后的脚本中。我无法真正解释这一点。

现在,当我关闭脚本标签是这样的:

<script src="js/services.js"></script> 
<script src="js/controllers.js"></script> <!-- THIS WORKS --> 
<script src="js/filters.js"></script> 
<script src="js/directives.js"></script> 
<script src="js/myApp.js"></script> 

它的工作原理就像一个魅力。

总结起来,AngularJS试图找到你的模块叫'模块',但无法找到它。可能是由于未加载脚本。尝试找到一个内联关闭的脚本标记,并按照上面的描述结束它。

希望有所帮助。

0

我不知道你是否仍然存在同样的问题走,但我发现了一个可能的原因:

在声明任何角度模块,必须注入的依赖性一些这样的:

angular.module('MyStore', ['ng','ngRoute']); 

如果需要调用该模块从其他地方来执行,如果你试图再次注入的依赖,你可能不匹配的任何行动......那么你必须通过它的名字这样称呼它:

angular.module('myStore') 

否则你会利用你的大脑寻找解决方案。

我希望它有帮助!

1

可能导致此问题的另一件事是使用对象属性的关键字。我有三个模块与上述错误:

statistic.import = !statistic.import; 

default: $scope.newGrid.default 

$scope.data = JSON.stringify({export: exportParams}) 

违规的性质是进口默认出口

相关问题