Angular js模块不会加载

时间:2016-01-12 11:56:08

标签: javascript angularjs

当我向身体添加ng-app="adminApp"时,我在角js中始终会出现以下错误。在自动引导期间抛出错误。

  

未捕获错误:[$ injector:modulerr]由于以下原因导致无法实例化模块adminApp:   错误:[$ injector:nomod]模块' adminApp'不可用!您要么错误拼写了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。

如果我将其更改为仅ng-app,则错误不会显示但我无法使用ngRoute,因为它需要为应用程序指定名称。我在最近2天读了很多这个问题的解决方案,但我发现它们都没有为我工作。

我删除了所有内容但仍然无法工作。我只留下了ng-app和3个元素。

的index.html:



window.mainmodule = angular.module('adminApp', ['ngRoute','ngMaterial']);

<!DOCTYPE html>
<html lang="hu">
	<head>
		<meta charset="utf-8" />
		<meta name="viewport" content="initial-scale=1" />
	</head>
	<body ng-app="adminApp">
		<div id="loadingscreen">
			<div style="left:0;top:0;width:0px;height:20px;background-color:#0000FF;" id="loadingbar"></div>
			<div class="center">Loading...</div>
		</div>
		<script type="text/javascript" src="utils/angular.js"></script>
		<script type="text/javascript" src="utils/angular-route.js"></script>
		<script type="text/javascript" src="utils/angular-animate.js"></script>
		<script type="text/javascript" src="utils/angular-aria.js"></script>
		<script type="text/javascript" src="utils/angular-material.js"></script>
		<script type="text/javascript" src="utils/require.js" data-main="modules/main"></script>
	</body>
</html>
&#13;
&#13;
&#13;

编辑:我使用angular v1.5.0-rc.0。

Codepen:http://codepen.io/anon/pen/pgwZLq

1 个答案:

答案 0 :(得分:1)

original link

如果您使用的是require.js,则需要以编程方式引导角度应用程序。

//kickoff the app
require(["app", "routes" ], function(){
   angular.module('adminApp', ['ngRoute','ngMaterial']);
   angular.bootstrap(document, ["adminApp"]);
});

当加载angular.js时,它会遍历DOM并查找“ng-app”以启动引导过程。那个时候你的require.js依赖文件尚未加载到页面上。因此,当angular尝试启动应用程序并查看“adminApp”时,它还不存在。因此,通过推迟自举,您将有可能在角度消失之前加载您的js文件并引导您的应用程序。

从html中删除ng-app标记。它将在bootstraping期间添加。