Javascript $emit数据在控制器中不可访问

Javascript $emit数据在控制器中不可访问,javascript,angularjs,Javascript,Angularjs,我正在尝试使用$emit将数据从服务发送到控制器。每当我在服务中运行console.log时,数据就在那里,但在控制器$rootScope.$on中,我看不到数据 service.GetTest = function () { var inside = this; var promise = $http( { method: 'POST', url: inside.baseUrl + 'Admin/setTest', con

我正在尝试使用$emit将数据从服务发送到控制器。每当我在服务中运行console.log时,数据就在那里,但在控制器$rootScope.$on中,我看不到数据

service.GetTest = function () {
    var inside = this;
    var promise = $http(
    {
        method: 'POST',
        url: inside.baseUrl + 'Admin/setTest',
        contentType: 'application/json'
    });
    promise.then(function (data) {
        console.log(data);
        $rootScope.$emit('monitor', data);
    })
}

$rootScope.$on('monitor', function (event,data) {
        console.log(data);
});

$on
的回调首先有
事件。您的函数应该是
函数(事件、数据)
,而不是
函数(数据)


也应考虑从代码> GETTest< /COD>返回承诺。这听起来像是一种资源方法,它应该承诺链而不是使用事件。

在修改代码后,这是您的工作吗?