当使用angular 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: '/'
        });
    }
]);

问题出在注入器配置部分(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) 

如果我没记错的话,这个问题是从angular 1.1.6开始的。


当前回答

这是注入器错误。你可能使用了很多JavaScript文件,所以注入器可能会丢失。

这里有一些:

var app = angular.module('app', 
    ['ngSanitize', 'ui.router', 'pascalprecht.translate', 'ngResource', 
     'ngMaterial', 'angularMoment','md.data.table', 'angularFileUpload', 
     'ngMessages', 'ui.utils.masks', 'angular-sortable-view',          
     'mdPickers','ngDraggable','as.sortable', 'ngAnimate', 'ngTouch']
);

请检查你需要在app.js中插入的注入器

其他回答

该问题是由于缺少包含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']);

我的问题在config.xml中。改变:

<access origin="*" launch-external="yes"/>

to

<access origin="*"/>

固定它。

我刚刚经历了同样的错误,在我的情况下,这是由angular中的第二个参数引起的。模块丢失-希望这可以帮助有同样问题的人。

angular.module('MyApp');

angular。模块(’MyApp’,[]);

几个月后,我回来开发了一个AngularJS(1.6.4)应用程序,在开发过程中我选择了Chrome (PC)和Safari (MAC)进行测试。此代码在IE 11.0.9600 (Windows 7, 32位)上显示了此Error: $injector:modulerr模块错误。

经过调查,很明显,错误是由于forEach循环被使用,只是将所有forEach循环替换为正常的for循环,以使事情按原样工作…

这基本上是一个IE11问题(在这里回答),而不是AngularJS的问题,但我想把这个回答放在这里,因为引发的异常是一个AngularJS异常。希望这能对我们中的一些人有所帮助。

类似的。不要使用lambda函数…只需replace()=>{…}具有良好的ol' function(){…}

这是注入器错误。你可能使用了很多JavaScript文件,所以注入器可能会丢失。

这里有一些:

var app = angular.module('app', 
    ['ngSanitize', 'ui.router', 'pascalprecht.translate', 'ngResource', 
     'ngMaterial', 'angularMoment','md.data.table', 'angularFileUpload', 
     'ngMessages', 'ui.utils.masks', 'angular-sortable-view',          
     'mdPickers','ngDraggable','as.sortable', 'ngAnimate', 'ngTouch']
);

请检查你需要在app.js中插入的注入器