一尘不染

如何告诉AngularJS“刷新”

angularjs

我有一个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更新视图?还是有一种我没有看到的解决此问题的“角度”方法?


阅读 247

收藏
2020-07-04

共1个答案

一尘不染

解决的办法是打电话给…

$scope.$apply();

…在我的jQuery事件回调中。

2020-07-04