Daw*_*wid 444 javascript angularjs
当使用角度1.2而不是1.07时,下面的代码不再有效,为什么?
'use strict';
var app = angular.module('myapp', []);
app.config(['$routeProvider', '$locationProvider',
function($routeProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$routeProvider.
when('/', {
templateUrl: 'part.html',
controller: 'MyCtrl'
}).
otherwise({
redirectTo: '/'
});
}
]);
Run Code Online (Sandbox Code Playgroud)
问题出在注入器配置部分(app.config):
Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.2.0rc1/$injector/modulerr?p0=muninn&p1=Error%…eapis.com%2Fajax%2Flibs%2Fangularjs%2F1.2.0rc1%2Fangular.min.js%3A31%3A252)
Run Code Online (Sandbox Code Playgroud)
如果我没记错的话,这个问题始于angular 1.1.6.
Daw*_*wid 635
该问题是由于缺少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']);
Run Code Online (Sandbox Code Playgroud)
arp*_*arp 41
我的错误在最后添加'()'消失了
(function(){
var home = angular.module('home',[]);
home.controller('QuestionsController',function(){
console.log("controller initialized");
this.addPoll = function(){
console.log("inside function");
};
});
})();
Run Code Online (Sandbox Code Playgroud)
Mic*_*ick 40
还有一件事要添加到列表中,因为这是谷歌搜索"错误:[$ injector:modulerr] angular"的第一个结果:
如果您的'index'html'中的应用名称与主javascript应用定义中的应用名称不匹配,则也会产生此错误.
例如,如果您的HTML看起来像这样:
</head>
<body ng-app="myWebSite">
<!-- My Web Site -->
<p>About my web site...</p>
etc ...
Run Code Online (Sandbox Code Playgroud)
你的JavaScript看起来像这样(即应用程序名称上有拼写错误 - myWebCite而不是myWebSite):
/** Main AngularJS Web Application */
var app = angular.module('myWebCite', [ 'ngRoute' ]);
/** Configure the Routes */
app.config(['$routeProvider', function ($routeProvider) {
etc ...
Run Code Online (Sandbox Code Playgroud)
然后还会生成'错误:[$ injector:modulerr] angular'错误.
oth*_*ewi 25
noob错误可能忘记包含模块js
<script src="app/modules/myModule.js"></script>
Run Code Online (Sandbox Code Playgroud)
index.html中的文件
Mos*_*hua 13
对于那些使用压缩,捆绑和缩小文件的框架的人,请确保明确定义每个依赖项,因为这些框架倾向于重命名变量.在使用ASP.NET BundleConfig.cs将我的应用程序脚本捆绑在一起时发生了这种情况.
之前
app.config(function($routeProvider) {
$routeProvider.
when('/', {
templateUrl: 'list.html',
controller: 'ListController'
}).
when('/items/:itemId', {
templateUrl: 'details.html',
controller: 'DetailsController'
}).
otherwise({
redirectTo: '/'
});
});
Run Code Online (Sandbox Code Playgroud)
后
app.config(["$routeProvider", function($routeProvider) {
$routeProvider.
when('/', {
templateUrl: 'list.html',
controller: 'ListController'
}).
when('/items/:itemId', {
templateUrl: 'details.html',
controller: 'DetailsController'
}).
otherwise({
redirectTo: '/'
});
}]);
Run Code Online (Sandbox Code Playgroud)
在此处阅读有关Angular Dependency Annotation的更多信息.
Jas*_*ngh 12
如果在控制台中出现此错误([$injector:nomod], MINERR_ASSET:22),请确保在加载前未包含应用程序代码AngularJS
我这样做,一旦我修改了订单,错误就消失了.
我刚刚遇到了同样的错误,在我的情况下,它是由于angular.module缺少第二个参数引起的- 希望这可能会帮助有同样问题的人.
angular.module('MyApp');
angular.module('MyApp', []);
小智 7
add to link
<script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.0/angular-route.min.js"></script>
var app = angular.module('apps', [ 'ngRoute' ]);
Run Code Online (Sandbox Code Playgroud)
我有同样的问题,并尝试了所有可能的解决方案.但最后我从文档中了解到ngRoute模块现在是分开的.看看这个链接
解决方案:在angular.min.js脚本之后 添加cdn angular-route.js
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-route.js"></script>
Run Code Online (Sandbox Code Playgroud)
此错误的另一个触发器是离开"." 在您的路线定义中的"其他"或任何其他路线之前:
app.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/view1', {
templateUrl: 'partials/view1.html',
controller: 'Ctrl1'
}).
otherwise({
redirectTo: '/viewCounts'
});
}]);
Run Code Online (Sandbox Code Playgroud)
全面停止,再一次.得爱JS!
| 归档时间: |
|
| 查看次数: |
449476 次 |
| 最近记录: |