Angular JS错误:$injector:nomod Module在路由过程中不可用
Angular JS Error: $injector:nomod Module Unavailable during routing
所以,我对angular JS真的很陌生,我正在和我学校的一个团队一起为一家公司做一个项目作为实习。我必须先让路由工作,不管我试过什么,它都不会工作。我用angular JS 1.0.7试过了,我可以让它工作,但是用最新版本(1.5.7),我只是不能经过很多很多小时的尝试。这是控制台当前给我的错误:
错误:美元注入器:nomod模块"app"不可用!您要么拼错了模块名,要么忘记加载它。如果注册一个模块,请确保将依赖项指定为第二个参数。据我所知,错误起源于index.html中的行,因为如果我删除它,错误就会消失,但是路由也不工作。
我真的很感激任何帮助。我知道我可能错过了一些非常基本的东西(代码可能相当潦草),但我就是想不出来。哦,顺便说一句,我试着把内容从app.js索引。html内的脚本标签,然后它没有给出错误,但没有显示任何东西,真的很奇怪。我也尝试了很多不同的方法来做路由按照不同的教程或指南的指示,但我仍然不能让它工作。
代码:Index.html(修改为不让位于公司名称等)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<link href="css/bootstrap.css" rel="stylesheet">
<link href="css/ui-bootstrap-1.3.3-csp.css" rel="stylesheet">
<link href="css/main.css" rel="stylesheet">
<script src="js/angular.min.js"></script>
<script src="js/angular-resource.min.js"></script>
<script src="js/angular-route.min.js"></script>
<script src="js/ui-bootstrap-1.3.3.min.js"></script>
<script src="js/angular-animate.min.js"></script>
<script src="js/angular-touch.min.js"></script>
<script src="app/app.js"></script>
<script src="app/ctrl.js"></script>
<script src="scripts/routing.js"></script>
</head>
<body>
<div class="navbar navbar-default" id="navbar">
<div class="container" id="navbar-container">
<div class="navbar-header">
<a href="" class="navbar-brand">
<small>
<i class="glyphicon glyphicon-log-out"></i>
Products and Company Info
</small>
</a><!-- /.brand -->
</div><!-- /.navbar-header -->
<div class="navbar-header pull-right" role="navigation">
<a href="#howto" class="btn btn-sm btn-warning nav-button-margin"> <i class="glyphicon glyphicon-book"></i> Howto</a>
<a href="#" class="btn btn-sm btn-warning nav-button-margin"> <i class="glyphicon glyphicon-home"></i> Home</a>
</div>
</div><!-- /.navbar-container -->
</div><!-- /.navbar -->
<div>
<div class="container">
<div ng-app="app">
<h2>App name</h2>
<br/>
<div ng-view></div>
</div>
</div><!-- /.container -->
</div>
</body>
</html>
Code app.js:
var app = angular.module('mainApp', ['ngResource', 'ngRoute']);
app.run(function($rootScope) {
});
代码ctrl.js app.controller("mainCtrl", function($scope) {
$scope.firstName = "first name";
$scope.lastName = "last name";
});
app.controller('howtoCtrl', function($scope) {
$scope.message = 'How To guide here';
});
代码routing.js:
// configure our routes
app.config(function($routeProvider) {
$routeProvider
// route for the home page
.when('/', {
templateUrl : 'home.html',
controller : 'mainCtrl'
})
// route for the how to page
.when('/howto', {
templateUrl : 'howto.html',
controller : 'howtoCtrl'
})
// route for the test2 page
.when('/testi2', {
templateUrl : 'test2.html',
controller : 'test2Controller'
});
});
编辑:将ng-app="app"更改为ng-app="mainApp"后,我得到了以下错误
angular.min.js: 103 http://localhost/var/www/html/byow_routing_sahlays_2/byow/home.html 404(未找到)(匿名函数)@ angular.min.js: 103 n @ angular.min.js: 98 g @ angular.min.js: 95(匿名函数)@ angular.min.js: 130美元eval @ angular.min.js:消化@ angular.min.js 145美元:142美元应用@ angular.min.js: 145(匿名函数)@ angular.min.js: 20调用@ angular.min.js: 41 c @ angular.min.js:公元前20 @ angular.min.js: 21 ge @ angular.min.js: 19(匿名函数)@ angular.min.js: @ 315 b@ angular.min.js:37d @ angular.min.js:36angular.min.js:117错误:[$compile: tload] http://errors.angularjs.org/1.5.7/$compile/tpload?p0=home.html&p1=404&p2=Not%20Foundat Error (native)在http://localhost/var/www/html/byow_routing_sahlays_2/byow/js/angular.min.js: 6:412在http://localhost/var/www/html/byow_routing_sahlays_2/byow/js/angular.min.js: 156:281在http://localhost/var/www/html/byow_routing_sahlays_2/byow/js/angular.min.js: 130:409$eval (http://localhost/var/www/html/byow_routing_sahlays_2/byow/js/angular.min.js:145:107)在m.$digest (http://localhost/var/www/html/byow_routing_sahlays_2/byow/js/angular.min.js:142:173)在m.$apply (http://localhost/var/www/html/byow_routing_sahlays_2/byow/js/angular.min.js:145:401)At l (http://localhost/var/www/html/byow_routing_sahlays_2/byow/js/angular.min.js:97:250)at K (http://localhost/var/www/html/byow_routing_sahlays_2/byow/js/angular.min.js:101:373)at XMLHttpRequest.y.onload (http://localhost/var/www/html/byow_routing_sahlays_2/byow/js/angular.min.js:102:397)
最后的编辑:谢谢大家,现在可以用了。问题首先是ng-app="app"应该是ng-app"mainApp",而且在我最初将文件移动到它们自己的文件夹后,我忘记将文件夹包含到routing.js中的模板地址。
您在html中调用<div ng-app="app">
,但您的应用程序命名为mainApp
。尝试将<div ng-app="app">
更改为<div ng-app="mainApp">
将以下代码添加到ctrl.js
和routing.js
的第一行
var app = angular.module('mainApp');
干杯!
- 什么'在Express中路由时,应用程序级中间件和路由器级中间件之间的区别是什么
- 在提交过程中使用同步确认灯箱提交表格
- 在电子商务结账过程中显示特定于上下文的错误
- Grunt排除在生成过程中插入某些文件
- JavaScript:如何在迭代过程中修改数组中的值
- 如何检查是否存在“;没有到主机的路由”;在流式传输视频的过程中一遍又一遍
- 在asp.net页面中显示javascript执行过程中的加载图标
- 在网格视图的自动刷新过程中,设置内部网格视图文本框的可见性
- ng-show内容在页面加载过程中闪烁,尽管它不是真实的,并且ng-cloak不适用于FF
- 如何在初始化过程中引用同一对象内的对象字段
- Python Javascript哈希库,以确保JSON对象在传输过程中不会损坏
- 如何将SignalR包含在gullow构建过程中
- 如何在剑道网格中直观地识别拖放过程中的放置目标
- 我是否可以在渲染过程中使用三.js合并每一帧中的几何体
- 在 Ember 1.0.0 pre 中路由时
- 在拖动过程中释放鼠标时忽略 JavaScript mouseUp 事件
- 主干网的生命周期.js创建过程中的视图
- 为什么在设置了OnPush标志的情况下,Angular2在更改检测过程中同时捕捉到引用更改和基元更改
- Node.js在HTTP Rest开发过程中出现路由问题
- Angular JS错误:$injector:nomod Module在路由过程中不可用