2017-10-26 2 views
0

Ich habe eine isolieren Bereich Richtlinie. In der Verknüpfungsfunktion dieser Anweisung kompiliere ich eine HTML-Vorlage und hänge sie an den Dokumentkörper an.ng-wenn nicht auf Scope zu zerstören zerstören

const template = `<div ng-if="vm.open"></div>`; 
body.append(template); 

Ich habe einen Knopf, der die vm.open Flagge auf einem ng-Klick schaltet. Dies funktioniert gut, um mein div anzuzeigen/zu verbergen. Wenn ich jedoch die Zurück-Schaltfläche drücke, wird mein Scope-Destroy-Event-Handler aufgerufen und setzt vm.open auf false. Aber in meinem DOM ist vm.open immer noch wahr.

Ist das, weil ng-wenn ein neuer Bereich gemacht und da meine Direktive ist die 'Eltern' es nicht zerstört den ng-if's Umfang? Ich habe einen anderen StackOverflow-Thread gefunden, bei dem die Verwendung von ng-show dieses Problem behebt, was auch der Fall ist. Aber ich würde gerne verstehen, warum es nicht mit einem ng-if klappt.

Antwort

0

versuchen Sie mit * ngIf = {{vm.open}}