微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AngularJS-为什么我需要$范围$$在$范围内$on?

我有一些代码不符合预期的行为…我在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

原文地址:https://www.jb51.cc/angularjs/144502.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐