2013-04-02 2 views
36

イムとの決意を使用して:AngularJS:正しい縮小化可能な構文新しいビューのレンダリングがこのようでキックする前にいくつかのデータをフェッチするために、コントローラのカップルと決意機能を使用して、コントローラ

HomeCtrl.resolve = { 
    pictures: function(Picture) { 
     return Picture.getall(); 
    } 
}; 

は誰をいこれを書く方法を知っているので、引数として渡されるPicture-Serviceは、縮小されたときに上書きされませんか?あなたは、次のパターンを使用して依存関係を注入することができ

答えて

54

、それは解決機能縮小の安全を作るための別の方法縮小

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

角がDIを使用する場所であれば、この構文を使用できます –

+1

悲しいことに、それは私のために働いていません。 HomeCtrl.resolve = { 写真:['$ q'、function(a){}] };不明なプロバイダを報告します:aProvider < - a – wukong

+1

@ wukong '$ q'サービスを注入する必要がある場合は、' HomeCtrl.resolve = {pictures:['$ q'、function($ q){} ]} '' $ q'サービスと 'a'サービスを注入する必要がある場合は、' HomeCtrl.resolve = {pictures:['$ q'、 'a'、function($ q 、a){}]} '。 – acrmuui

2

証拠である:

HomeCtrl.resolve = { 
    pictures: getPictures 
}; 

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

この手法は中という事実を利用していますjavascript関数もオブジェクトであるため、プロパティを持つことができます。

詳細については、https://docs.angularjs.org/guide/diにアクセスし、 "$ inject"を検索してください。

関連する問題