我正在尝试使用$ 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);
});
答案 0 :(得分:1)
$on
的回叫首先是event
。您的功能应该是function(event, data)
,而不是function(data)
。
此外,您应该考虑从GetTest
返回承诺。这听起来像是一种资源方法,它应该保证链而不是使用事件。