我有一个click事件发生在我的自定义指令范围之外,因此,我使用jQuery.click()侦听器并在我的范围内调用一个函数,而不是使用“ ng- click”属性,如下所示:
$('html').click(function(e) { scope.close(); );
close()是一个简单的函数,如下所示:
scope.close = function() { scope.isOpen = false; }
在我看来,我有一个绑定到isOpen的“ ng-show”元素,如下所示:
<div ng-show="isOpen">My Div</div>
调试时,我发现正在调用close(),isOpen被更新为false,但是AngularJS视图没有更新。有没有办法手动告诉Angular更新视图?还是有一种我没有看到的解决此问题的“角度”方法?
解决的办法是打电话给…
$scope.$apply();
…在我的jQuery事件回调中。