0

如果另一段代码调用$scope.$on,我希望我的服务收到通知,以便它可以订阅具有相同命名通道的 websocket。是否有$rootScope我可以收听的事件或我可以观看的表达式?

我试过这个:http: //jsfiddle.net/polidore/AZ7Av/

我在哪里$watching Object.keys($scope.$$listeners).length,但除了初始负载外,它似乎没有被调用。

谢谢!

4

1 回答 1

1

最好的方法不是调用$on,而是创建自己的函数,该函数$on在通知您的服务时调用您。

如果您确实需要通过该$on函数检测它,那么您可以像这样覆盖该函数:

var old$on = $scope.$on;
$scope.$on = function(name, listener) {
    // Code to notify your service here

    old$on.apply(this, arguments);
}
于 2012-06-29T17:28:07.353 回答