Pertama-tama, versi modifikasi dari layanan Anda.
Sebuah )
var app = angular.module('app',[]);
app.factory('ExampleService',function(){
return {
f1 : function(world){
return 'Hello' + world;
}
};
});
Ini mengembalikan objek, tidak ada yang baru di sini.
Sekarang cara untuk mendapatkan ini dari konsol adalah
b)
var $inj = angular.injector(['app']);
var serv = $inj.get('ExampleService');
serv.f1("World");
c)
Salah satu hal yang Anda lakukan di sana sebelumnya adalah mengasumsikan bahwa app.factory mengembalikan Anda fungsi itu sendiri atau versi yang baru. Yang tidak demikian. Untuk mendapatkan konstruktor, Anda harus melakukannya
app.factory('ExampleService',function(){
return function(){
this.f1 = function(world){
return 'Hello' + world;
}
};
});
Ini mengembalikan konstruktor ExampleService yang selanjutnya Anda harus melakukan 'baru'.
Atau sebagai alternatif,
app.service('ExampleService',function(){
this.f1 = function(world){
return 'Hello' + world;
};
});
Ini mengembalikan ExampleService () baru pada injeksi.
angular.element('*[ng-app]').injector()
harus bekerja untuk semua kasus.