2013-04-02 7 views

cevap

54

Aşağıdaki kalıbı kullanarak bağımlılıkları enjekte edebilir, bu

HomeCtrl.resolve = { 
    pictures : ['Picture', function(Picture) { 
       return Picture.getall(); 
      }] 
}; 
+7

Açısal dizinin DI kullanıldığı her yerde, bu sözdizimini kullanabilirsiniz –

+1

Ne yazık ki, Benim için çalışmıyor. HomeCtrl.resolve = { resimler: ['$ q', işlev (a) {}] }; Bilinmeyen sağlayıcı bildirir: aProvider <- a – wukong

+1

@wukong Eğer '$ q' servisini enjekte etmeniz gerekiyorsa bunu böyle yapmalısınız 'HomeCtrl.resolve = {pictures: [' $ q ', function ($ q) {} ]} ', $ q' hizmetini ve bir' a' hizmetini enjekte etmeniz gerekiyorsa bunu şöyle yapmalısınız: HomeCtrl.resolve = {resim: ['$ q', 'a', function ($ q) a) {}}}. – acrmuui

2

geçirmez küçültme çözmek fonksiyonu küçültme güvenli hale getirmek için başka bir yoludur:

HomeCtrl.resolve = { 
    pictures: getPictures 
}; 

getPictures.$inject = ['Picture']; 
function getPictures(Picture){ 
    return Picture.getall(); 
} 

Bu teknik aslında yararlanır o Javascript işlevleri de nesnelerdir ve bu nedenle özelliklerine sahip olabilirler.

Daha fazla bilgi için, https://docs.angularjs.org/guide/di adresine gidin ve "$ inject" için arama yapın.