2016-04-12 27 views
0

AngularJS kullanarak bir web uygulaması üzerinde çalışıyorum. Ben serviceAjax adlı bir hizmeti, oluşturulan ve Chrome veya Firefox üzerinde onunla herhangi bir sorun yoktuAngularJS uygulamasında Microsoft Edge, Bilinmeyen hizmet sağlayıcısı çalışmıyor

Error: [$injector:unpr] Unknown provider: serviceAjaxProvider <- serviceAjax <- MainCtrl 

: Microsoft Kenar web tarayıcısı ile çalışana kadar Her şey iyi iş gibi görünüyordu. Ancak şimdi uygulamamı Edge'de kullanmaya çalışıyorum, bu hatayı aldım.

hizmetim şöyle bildirildi:

serviceAjax.js

angular.module('myApp') 
.service('serviceAjax', ['$http', function ($http) { 
... 
}]); 

Ve ben denetleyicisi böyle diyoruz:

main.js

angular.module('myApp') 
.controller('MainCtrl', function ($scope,serviceAjax) { 
... 
}); 

Bu hata nereden geliyor ve nasıl düzeltebilirim?

cevap

2

ekleyin:

<meta http-equiv="X-UA-Compatible" content="IE=edge" /> 
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> 
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script> 
-1

Tamam, işe yaramadı neden öğrendim:

Aslında IE ES6 yazılmış herşeyi anlamıyor gibi görünüyor.

Bir ES6 Standart Parametre kullandı: Yani ES6 kullanmaktan kaçının

function(var = value) {...}; 

:)

(Ben de ES6 & Firefox ile Uygunluğun sorunları vardı)

+2

diğer seçenekler yerine vardır 'ES6 kullanmaktan kaçının'. ES6 kodunuzu ES5 uyumlu hale getirmek için bir dönüşümle ([babel] (https://babeljs.io/) gibi) çalıştırabilirsiniz. Ardından, tarayıcılar kendi hareketlerini bir araya getirdiklerinde dönüşümden dönün. Bu şekilde ES6 olan harika kurban etmeyin. – ste2425