2016-05-05 14 views
0

私が作業しているAngularJSアプリケーションで作業するためのファクトリを取得しようとしています。次のように私はコントローラにこの工場を注入すると

angular.module('workhelpr.components.services.gridService', []) 
.factory('gridServiceApi', function() { 
    return { test:5 }; 
}); 

:次は私のダウン易しく書き直さ工場出荷時のコードである

mainCtrl.$inject = ['gridServiceApi']; 
function mainCtrl(gridServiceApi) { 
    var $ctrl = this; 

    //gridServiceApi.test(); 

} 

私は、ブラウザのコンソールに次のエラーを取得:

angular.js:13550 Error: [$injector:undef] Provider 'gridServiceApi' must return a value from $get factory method. 

私はこれから地獄を探検しており、非常に似ている質問の束があります。それらのほとんどは、ファクトリがオブジェクトを返さなかった、または意図した戻り値がreturnキーワードの下の行にある問題でした。なぜ私は実際にこれがここで起こっている答えに何も見つかりませんでした。

+0

ファクトリを '.factory( 'gridServiceApi'、function(){ return {test:function(){return 5;}}; })のように設定して、 ( 'gridServiceApi.test();') –

+0

これはまったく同じエラーを返します。 – APalmer

+0

私はangularjsのドキュメンテーションから 'controllerAs'の基本例を編集し、あなたが行ったように工場を追加しました。(https://plnkr.co/edit/30swPWudsuDfKgmuVsI5?p=preview)それは魅力的です。 'workhelpr.components.services.gridService'内のファクトリを参照していて、別のモジュールに存在する同じ名前の別のファクトリではないと確信していますか? - 'workhelpr.components.services.gridService'モジュールをあなたのアプリケーションモジュールに含めましたか? –

答えて

0

service.jsファイルへのパスが正しくありません。不明なプロバイダエラーが発生すると予想していたので、混乱していました。

関連する問題