AngularJS-为什么我需要$范围$$在$范围内$on?
发布时间:2020-12-17 08:13:00 所属栏目:安全 来源:网络整理
导读:我有一些代码不符合预期的行为…我在AngularJS控制器中有一个事件侦听器,如下所示: $scope.$on("newClipSelected",function(e) { $scope.$apply(function() { $scope.isReady = true; });}); 控制器的标记有一个ng-show =’isReady’。运行此事件处理程序
我有一些代码不符合预期的行为…我在AngularJS控制器中有一个事件侦听器,如下所示:
$scope.$on("newClipSelected",function(e) { $scope.$apply(function() { $scope.isReady = true; }); }); 控制器的标记有一个ng-show =’isReady’。运行此事件处理程序时,ng-show区域按预期显示。但是,此事件处理程序不起作用: $scope.$on("newClipSelected",function(e) { $scope.isReady = true; }); 使用这个事件处理程序,如果我使用调试器来预期AngularJS范围,我会看到$ scope.isReady = true,但是ng-show元素没有显示。 我的理解是,$ scope。$ on将实际上调用$ watch / $适用。那么为什么在这种情况下我需要调用$ apply? 事件正在非角度的JS异步完成事件中调用$ rootScope。$ broadcast()触发。
不,有角度不会对事件适用,所以如果$ broadcast被调用在角度的上下文之外,你将需要手动申请$。
检查源here (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |