gpt4 book ai didi

javascript - $emit Controller 中无法访问的数据

转载 作者:行者123 更新时间:2023-11-29 23:48:40 27 4
gpt4 key购买 nike

我正在尝试使用 $emit 从服务向 Controller 发送数据。每当我在服务中使用 console.log 时,数据就在那里,但在 Controller $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 的回调首先有 event。您的函数应该是 function(event, data),而不是 function(data)

此外,您应该考虑从 GetTest 返回 promise 。这听起来像是一种应该 promise 链而不是使用事件的资源方法。

关于javascript - $emit Controller 中无法访问的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43306814/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com