2013-11-20 11 views
11

Bitte beachten Sie die folgenden plnkr: http://plnkr.co/edit/KZwIBX?p=previewAngularJS - Warum wird ng-change aufgerufen, bevor das Modell aktualisiert wird?

Die erste Standard-Auswahl funktioniert wie erwartet (zumindest so weit wie I/erwartete erwartet), was bedeutet, dass ng-Änderung, nachdem das Modell aktualisiert wird, aufgerufen wird. Aber wenn ich eine Direktive mit einem isolieren Bereich erstelle, würde es scheinen, dass ng-change aufgerufen wird, bevor mein Modell aktualisiert wird. Offensichtlich gibt es etwas, was ich falsch verstehe.

Situation sehr ähnlich AngularJS scope updated after ng-change

Antwort

9

Das Problem mit dem Beispiel in der plnkr ist, dass Sie die Änderungsfunktion, zu dem Isolat Umfang als die Bindung an dem übergeordneten Bereich unter Verwendung Änderung sind vorbei: ‚&‘ . die & Bei Verwendung der Funktion wird als Ausdruck im Kontext des Mutter wird ausgewertet und es wird ausgewertet werden, bevor Modell geändert wird (wenn es keine Bindung an das Modell als Parameter ist)

kann es zwei Möglichkeiten, um ändern das Beispiel, um Arbeit:

  1. Sie Ihre isoliert Umfang in der Richtlinie mit der Änderung definieren: ‚=‘ Definition

  2. Sie es verwenden können, wie es ist aber rufen die Eltern verwiesen Funktion mit einem Parameter. hier Für das zweite Beispiel ist eine große Erklärung: http://www.thinkster.io/pick/oEo8ZAXv27/angularjs-isolate-scope

+1

Verbindung unterbrochen ist. –

+0

Link funktioniert jetzt. – Orion

Verwandte Themen