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的工作原理。没有改变什么。任何方向都会很棒。
答案 0 :(得分:1)
答案如下:
<html class="ng-app" ng-app="app">
这里我有2个ng-app声明。当我使这个ie8兼容(使用类)时,一个简单的俯视。你只能有一个ng-app声明,否则你的时间会很糟糕。
固定:
<html class="ng-app">
or
<html ng-app="app">