2013-11-20 14 views
11

proszę zobaczyć następujące plnkr: http://plnkr.co/edit/KZwIBX?p=previewAngularJS - Dlaczego wywoływana jest zmienna ng przed zaktualizowaniem modelu?

pierwszy standard wybierz działa zgodnie z oczekiwaniami (przynajmniej tak daleko, jak się spodziewałem/przewidywany), co oznacza, że ​​zmiana-ng jest wywoływana po model jest aktualizowany. Ale kiedy tworzę dyrektywę, która ma zasięg izolatu, wydaje się, że ng-change jest wywoływana, zanim mój model zostanie zaktualizowany. Oczywiście jest coś, czego nie rozumiem.

Sytuacja bardzo podobna do AngularJS scope updated after ng-change

Odpowiedz

9

problem z przykładowo w plnkr jest to, że są przechodzącą funkcji zmiany do zakresu izolowania jako wiążące się z zakresem macierzystej za pomocą zmianę: „&” . Używając funkcji &, funkcja zostanie oceniona jako wyrażenie w kontekście elementu nadrzędnego i zostanie obliczona przed zmianą modelu (jeśli nie ma powiązania z modelem jako parametrem)

Istnieją dwa sposoby zmienić przykład w celu pracy:

  1. można zdefiniować samodzielnie zakresu w dyrektywie ze zmianą: „=” definicji

  2. funkcji
  3. można go używać jak to jest, ale zadzwonić do rodzica odwoływać z parametrem. Na drugim przykładzie Oto wielki wyjaśnienie: http://www.thinkster.io/pick/oEo8ZAXv27/angularjs-isolate-scope

+1

link jest uszkodzony. –

+0

Link teraz działa. – Orion

Powiązane problemy