縮小を修正するために見つけることができるすべての指示に従いました。
var MyController = function(renamed$scope, renamedGreeter) {
...
}
MyController.$inject = ['$scope', 'greeter'];
そして
someModule.factory('greeter', ['$window', function(renamed$window) {
...;
}]);
まだangularはまだ動作することを拒否します。それは常にエラー「不明なプロバイダー:eProvider」をスローします
これがそれを機能させるための私の2つの試みです...誰か助けてもらえますか?
https://github.com/jemminger/angular-test1
https://github.com/jemminger/angular-test2
アセットはすでにプリコンパイルされており、開発モードは本番環境として機能するように構成されているため、「Rails」で機能する(機能しない)ことを確認できるはずです。
それを見つけた!彼らはインジェクション修正をサービスにも適用するとは決して言いませんでした...解決策はこれを変更することです:
angular.module('itemServices', ['ngResource']).
factory('Item', function($resource){
return $resource('items/:item_id.json', {}, {
query: {method:'GET', params:{ item_id: 'all' }, isArray:true}
});
});
これに:
angular.module('itemServices', ['ngResource']).
factory('Item', ['$resource', function($resource){
return $resource('items/:item_id.json', {}, {
query: {method:'GET', params:{ item_id: 'all' }, isArray:true}
});
}]);
ディレクティブ内のコントローラーでもDIを使用することを忘れないでください。何時間もかかりました... CSの例:
違う:
controller: ($scope) ->
$scope.closeModal = ->
ModalService.close()
正しい:
controller: ["$scope"
($scope) ->
$scope.closeModal = ->
ModalService.close()
]
モジュール内での注入が必要な[〜#〜] all [〜#〜]関数定義にDIパターンを適用してください。見逃しがちです。 routeProvider、ファクトリ、サービスなどを使用している場合は、それらすべてにDIパターンを適用する必要があります。それらすべてを捕まえる前に、私は複数回展開することになりました:P