Açısal uygulamamda hizmetleri tanımladığım iki dosyam var, ancak bunları hem yönergemde hem de kullanmaya çalıştığımda, hizmet sağlayıcısının bulunmadığını belirten bir hata alıyorum hangi direktif için ikinci tanımlıyım. Bir servisin diğerinin üzerine yazması gibi görünüyor. Service2.js'deki modül tanımını myapp.services2 olarak değiştirirsem çalışır. Aynı modüle birden fazla fabrika ekleyebileceğimi düşünürdüm. Birisi yanlış yaptığım şeye işaret edebilir mi?angularjs farklı dosyalardaki aynı modül için hizmetleri tanımlar
service1.js:
var services = angular.module('myapp.services',[]);
services.factory('Service1', function() {
// service code
});
service2.js:
var services = angular.module('myapp.services',[]);
services.factory('Service2', function() {
// service code
});
mydirective.js:
angular.module('myappdirective', []).directive('myapp', ['Service1', 'Service2',
function(service1,service2) {
// directive code
}]);
Servis modülünü iki kez tanımlıyorsunuz. Sadece bir kez tanımlamanız yeterlidir (bir dosyada). En son projemde, var services = angular.module satırını kendi js dosyasına taşıdım (kesin olarak overkill). – aet
, ikinci kez bakıp onu yeniden tanımlamamalı mı? –
Enjeksiyon dizisini kaldırırsanız, bu şekilde çalışacağını düşünüyorum - angular.module ('myapp.services'); – aet