gpt4 book ai didi

javascript - $scope.$on 使用传递的值

转载 作者:行者123 更新时间:2023-11-28 04:50:32 25 4
gpt4 key购买 nike

当我通过广播发送数据时遇到这个问题,这是我的代码:

$rootScope.$broadcast('myEvent',{
data:"value"
});

和我的代码:

$scope.$on('myEvent', (event, args) => {
$scope.data = args.data;
console.log($scope.data);
});
console.log($scope.data);

问题是,函数内部的 console.log 显示值,但在外部我得到未定义的值,我错过了什么?谢谢。

最佳答案

这部分代码是异步回调:

(event, args) => {
$scope.data = args.data;
console.log($scope.data);
}

这意味着一旦触发 myEvent 就会运行。当浏览器加载该脚本和该特定行时,第二个 console.log() 将立即运行,并且这部分代码不是异步而是同步的。因为在这种情况下,您的代码将在事件触发之前完全加载,所以您的“第二个”console.log() 将在“第一个”console.log() 之前运行。

我建议您阅读一些有关 how callbacks work 的内容。 。它是使用 javascript 时的核心模式之一,它将极大地帮助您了解回调在您 future 的工作中如何工作。

关于javascript - $scope.$on 使用传递的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42963649/

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