IE8 再次让一切变得困难。
我在我的角度应用程序上声明了 3 个工厂 [方法?]。然后我声明了一个控制器。然后我为控制器注入必要的提供程序。看起来像这样:
angular.module('app', ['ui', 'shared', 'visitDirectives', 'GlobalFilters', 'ng']).factory('routingScopeManager', ['$rootScope', function ($rootScope) {
var masterScopeTracker = {};
....
return masterScopeTracker;
}]).factory('validationManager', ['$rootScope', function ($rootScope) {
var validationTracker = {};
...
return validationTracker;
}]).factory('userManager', ['$http', '$rootScope', '$window', function ($http, $rootScope, $window) {
var CurrentUser = {};
...
return CurrentUser;
}]);
function visitController($scope, $location, $http, $window, masterScopeTracker, CurrentUser) {
...
}
visitController.$inject = ['$scope', '$location', '$http', '$window', 'routingScopeManager', 'userManager'];
在 Chrome 和 Firefox 中一切正常。但是 IE8 抛出此错误:错误:未知提供程序:routingScopeManagerProvider <- routingScopeManagerundefined
我的应用程序母版页在 HTML 标记中定义了 ng-app,如下所示:
<html class="ng-app" ng-app="app">
不知道我在这里做错了什么。我已经在其他项目中没有任何问题(使用 IE8 进行测试时)这样做了,所以我必须忽略一个步骤。我已经按照 angularjs 网站上的指南来使用 IE。没有改变任何东西。任何方向都会很棒。