为什么我不能将$ scope注入Angular的工厂?

Leg*_*ion 4 dependency-injection angularjs

我有一个需要收听广播事件的工厂.我注入$scope了工厂,所以我可以使用$scope.$on.但是一旦我添加$scope到参数列表中,我就会得到一个喷油器错误.

这很好用:

angular.module('MyWebApp.services')
    .factory('ValidationMatrixFactory', ['$rootScope', function($rootScope) {
        var ValidationMatrixFactory = {};
        return ValidationMatrixFactory;
    }]);
Run Code Online (Sandbox Code Playgroud)

这会引发进样器错误:

angular.module('MyWebApp.services')
    .factory('ValidationMatrixFactory', ['$scope', '$rootScope', function($scope, $rootScope) {
        var ValidationMatrixFactory = {};
        return ValidationMatrixFactory;
    }]);
Run Code Online (Sandbox Code Playgroud)

为什么我不能注入$scope工厂?如果我不能,除了使用之外,我有没有办法听取其他事件$rootScope

Nil*_*ner 7

因为$ scope用于连接控制器以查看,所以工厂实际上并不打算使用$ scope.

你怎么能广播到rootScope.

$rootScope.$on()
Run Code Online (Sandbox Code Playgroud)