Próbuję zacząć od kąta 2.0, teraz zastanawiałem się, jak mogę zainicjować aktualizację widoku po jakimś zewnętrznym zdarzeniu zmienionym danych.
W szczegółach mam mapę google i przewodnik po zdarzeniu typu kliknięcie na mapie. Gdy użytkownik kliknie na mapie przechowywać długość i szerokość geograficzną kliknięcie w zmiennych w sterowniku
this.lat = event.latLng.lat();
this.lon = event.latLng.lon();
w widoku chcę, aby wyświetlić te wartości
<div> this is my spot: {{lat}} and {{lon}} </div>
W kątowej 1 I po prostu zawiń zadanie w kontrolerze w wywołaniu $ scope. $ apply().
Jaki jest preferowany sposób aktualizowania widoków w angluar 2.0?
dzięki! Wygląda na to, że znajdowałem się poza strefą kątową (wewnątrz kliknięcia-oddzwaniania mapy google). Wywołanie lc.tick() dało podstęp :-) –
Hmm, może ['NgZone: run'] (https://github.com/angular/angular/blob/2.0.0-alpha.44/modules/angular2 /src/core/zone/ng_zone.ts#L212) jest bardziej odpowiedni dla twojego przypadku użycia. Realizuje wywołanie zwrotne wewnątrz strefy kątowej, po wykonaniu uruchamia LifeCycle.tick(). – alexpods
I agrre with @alexpods. Jest inne pytanie, które rozwiązuje to w ten sposób, z 'NgZone: run' (http://stackoverflow.com/questions/31352397/how-to-update-view-after-change-in-angular--2-after-google-event- listener-fired) – EuAndreh