1. ホーム
  2. javascript

[解決済み] AngularJSに "更新 "を指示するには?

2022-04-17 23:06:13

質問

カスタムディレクティブのスコープ外でクリックイベントが発生するので、"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にビューを更新するように指示する方法はありますか?それとも、私が見ていない、この問題を解決するためのより多くのquot;Angular"アプローチがあるのでしょうか?

どのように解決するのですか?

解決策は、電話することでした...

$scope.$apply();

...私のjQueryイベントコールバックで。