2017-01-12 4 views
0

私のアングルアプリ以外の関数でアングルサービスから値を取得しようとしています。サービスは、次のようになります。

angular.module('myApp.services').factory('MyService', [ '$resource', function ($resource) { 

    return { 

     getModuleId: function() { 
      return $resource('/api/module_id', {}, { 
       query: { 
        method: 'GET' 
       }}); 
     } 

    } 
}]); 

を次にhtmlファイルで、<script>タグの中に、私はそれを呼び出すために、次のコードを使用します。

$(document).ready(function() { 
    ... 
    moduleId = angular.injector(['ng', 'myApp.services']).get("MyService").getModuleId(); 
    ... 
}) 

をしかし、これはタイトルに記載されたエラーがスローされます。私はサービスから'$resource'を削除した場合

Error: [$injector:unpr] Unknown provider: $resourceProvider <- $resource <- MyService 

エラーが消える(したがって、サービスには注射を持っていません)。しかし、私はそれをそこに注入するようにする必要があります。

答えて

0

あなたは

ngResource

angular.module('myApp.services',[ngResource]).factory('MyService', [ '$resource', function ($resource) { 

return { 

    getModuleId: function() { 
     return $resource('/api/module_id', {}, { 
      query: { 
       method: 'GET' 
      }}); 
    } 

} 
}])モジュールを含むことを忘れてしまいました。

+0

ngResourceはすでにapp.jsに含まれています – ntonnelier

+0

@Vikash Kumarに感謝しますが、これは問題ではありません – ntonnelier

関連する問題