小编典典

我怎样才能告诉AngularJS“刷新”

all

我有一个在我的自定义指令范围之外发生的单击事件,因此我没有使用“ng-click”属性,而是使用 jQuery.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
更新视图?或者是否有更“角度”的方法来解决我没有看到的这个问题?


阅读 107

收藏
2022-07-29

共1个答案

小编典典

解决办法是打电话…

$scope.$apply();

…在我的 jQuery 事件回调中。

2022-07-29