Her şeyden önce, hizmetinizin değiştirilmiş bir sürümü.
a)
var app = angular.module('app',[]);
app.factory('ExampleService',function(){
return {
f1 : function(world){
return 'Hello' + world;
}
};
});
Bu bir nesneyi döndürür, burada yeni bir şey yoktur.
Şimdi bunu konsoldan almanın yolu
b)
var $inj = angular.injector(['app']);
var serv = $inj.get('ExampleService');
serv.f1("World");
c)
Daha önce yaptığınız şeylerden biri, app.factory'nin size işlevin kendisini veya yeni bir sürümünü döndürdüğünü varsaymaktı. Bu durum böyle değil. Bir kurucu edinmek için ya
app.factory('ExampleService',function(){
return function(){
this.f1 = function(world){
return 'Hello' + world;
}
};
});
Bu, daha sonra 'yeni' yapmak zorunda kalacağınız bir SampleService yapıcısını döndürür.
Veya alternatif olarak,
app.service('ExampleService',function(){
this.f1 = function(world){
return 'Hello' + world;
};
});
Bu, enjeksiyonda yeni bir SampleService () döndürür.
angular.element('*[ng-app]').injector()
tüm durumlar için çalışmalıdır.