当我向身体添加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;
编辑:我使用angular v1.5.0-rc.0。
答案 0 :(得分:1)
如果您使用的是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期间添加。