2013-06-04 38 views
0

IE8再次使一切困難。IE8工廠拋出「未知供應商」錯誤

我在我的角度應用程序上聲明瞭3個工廠[methods?]。然後我有一個控制器宣佈。然後我爲控制器注入必要的提供者。看起來是這樣的:

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

我的應用程序母版頁定義NG-應用程序的HTML標記,如下所示:

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

不知道我在做什麼錯在這裏。我在其他項目中完成了這個任務,沒有任何問題(當使用IE8進行測試時),所以我必須忽略一個步驟。我遵循了angularjs網站上的指南,讓事情與IE一起工作。沒有改變任何東西。任何方向都會很棒。

+0

現在有同樣的問題。你找到解決方案嗎? – gorpacrate

+1

@gorpacrate是的!注意:。我在html元素上有2個ng-app聲明。我忘了所有關於這個問題。確保你沒有在你的頁面上多次聲明ng-app! – yaegerbomb

回答

1

這個問題的答案是以下幾點:

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

這裏我有2 NG-應用的聲明。當我使這個ie8兼容(使用類)時,一個簡單的忽略。你只能有一個ng-app聲明,否則你將會遇到不好的時間。

固定:

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