私は、ブロードキャストイベントを聞く必要がある工場を持っています。私は$scope
を工場に注入したので、$scope.$on
を使うことができました。しかし、すぐに私が$scope
をパラメータリストに追加すると、インジェクタエラーが発生します。
これは正常に動作します:
angular.module('MyWebApp.services')
.factory('ValidationMatrixFactory', ['$rootScope', function($rootScope) {
var ValidationMatrixFactory = {};
return ValidationMatrixFactory;
}]);
これは、インジェクタのエラーがスローされます。
angular.module('MyWebApp.services')
.factory('ValidationMatrixFactory', ['$scope', '$rootScope', function($scope, $rootScope) {
var ValidationMatrixFactory = {};
return ValidationMatrixFactory;
}]);
は、なぜ私は、工場出荷時に$scope
を注入することはできませんか?もし私ができなければ、$rootScope
以外のイベントを聞く方法はありますか?
'$ scope'はコントローラとビューのみです。ファクトリがビューに接続されていません。だからあなたはそれを注射することができません。工場の '$ rootScope'のイベントを聞いても何も問題ありません。 –