IE8工厂抛出“未知提供商”错误

时间:2013-06-04 13:59:33

标签: javascript angularjs internet-explorer-8

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的工作原理。没有改变什么。任何方向都会很棒。

1 个答案:

答案 0 :(得分:1)

答案如下:

<html class="ng-app" ng-app="app">

这里我有2个ng-app声明。当我使这个ie8兼容(使用类)时,一个简单的俯视。你只能有一个ng-app声明,否则你的时间会很糟糕。

固定:

<html class="ng-app">
or
<html ng-app="app">