2017-11-22 21 views
0

定数を作成しましたが、コントローラに[]を追加すると未定義と表示されます。私はそれを削除すると、定数が動作します。私は何か不足していますか?Angularjs定数がコントローラで動作しませんインライン注釈

app.constant('RESOURCES', (function() { 
    var resource = ''; 
    return { 
    USERS_DOMAIN: resource, 
    API: resource + 'q', 
    BASIC_INFO: resource + '/api/info' 
    } 
})()); 

定数は、このコントローラで呼び出され-When、それは動作しません:私は[]削除し、悲しいニュースがその下のアプローチであるため、以下

app.controller('SampleCtr', ['$scope','RESOURCES', function($scope, RESOURCES){ 
    console.log(RESOURCES) // undefined 
}]); 

- この1作品縮小されたときには機能しません。

app.controller('SampleCtr', function($scope, RESOURCES){ 
    console.log(RESOURCES) // undefined 
}); 
+2

〜http://plnkr.co/edit/hy14SrH9LAyb7bedqUBk?p=previewを再生できません。 *「RESOURCES」という名前の別のプロバイダがあるかもしれません。 – Phil

+0

何度も繰り返し確認しました。いいえ! –

+0

共有しているコードでもうまくいきました。plnkr https://plnkr.co/edit/NXdsea2WmyONHLsCyOxp?p=previewを参照してください。さらに調査が必要な場合は、 – Harpreet

答えて

1

あなたはng-annotateを使用して、このようにそれを書き込むことによって、第二のアプローチの作業を行うことができます。

app.controller('SampleCtr', SampleCtr); 

/* @ngInject */ 

function SampleCtr($scope, RESOURCES){ 
    console.log(RESOURCES); 
}); 

それがお役に立てば幸いです。

+0

それはうまくいきましたが、インライン注釈がないと、細分化がコードを壊しました。追加されたとき:app.controller( 'SampleCtr'、['$ scope、' RESOURCES '、SampleCtr])、それは素晴らしい動作します。ありがとう!!! –

関連する問題