カスタムディレクティブのスコープ外で発生するクリックイベントがあるため、「ng-click」属性を使用する代わりに、jQuery.click()リスナーを使用して、スコープ内で次のように関数を呼び出しています。
$('html').click(function(e) {
scope.close();
);
close()は、次のような単純な関数です。
scope.close = function() {
scope.isOpen = false;
}
私の見解では、「ng-show」がisOpenにバインドされた要素が次のようになっています。
<div ng-show="isOpen">My Div</div>
デバッグ中に、close()が呼び出され、isOpenがfalseに更新されているのに、AngularJSビューが更新されていないことがわかりました。ビューを更新するようにAngularに手動で指示する方法はありますか?それとも、私が見ていないこの問題を解決するためのより「角度のある」アプローチはありますか?