Ich habe ein Klickereignis, das außerhalb des Bereichs meiner benutzerdefinierten Direktive auftritt. Anstatt das Attribut "ng-click" zu verwenden, verwende ich einen jQuery.click () -Listener und rufe eine Funktion in meinem Bereich wie folgt auf:
$('html').click(function(e) {
scope.close();
);
close () ist eine einfache Funktion, die folgendermaßen aussieht:
scope.close = function() {
scope.isOpen = false;
}
Meiner Ansicht nach habe ich ein Element mit "ng-show", das wie folgt an isOpen gebunden ist:
<div ng-show="isOpen">My Div</div>
Beim Debuggen stelle ich fest, dass close () aufgerufen wird, isOpen auf false aktualisiert wird, die AngularJS-Ansicht jedoch nicht aktualisiert wird. Gibt es eine Möglichkeit, Angular manuell anzuweisen, die Ansicht zu aktualisieren? Oder gibt es einen "eckigeren" Ansatz zur Lösung dieses Problems, den ich nicht sehe?