2013-07-05 12 views
6

Czy muszę zadzwonić do $ scope. $ Zastosować, gdy wykonuję połączenie ajax używając $ http?

Wygląda na to, że nie jest potrzebny, ponieważ mój kod nadal działa, a kiedy użyłem JQuery ajax, musiałem zadzwonić do aplikacji lub nie działało.

Tak więc, aby mieć całkowitą pewność, czy mogę teraz pominąć stosowanie połączeń?

Odpowiedz

3

Z angularjs wersji 1.1.x trzeba będzie dodać Scope.$apply czy wyzwalanie $http połączeń zewnętrznych z angularjs $digest cyklu.

Szczegółowe wyjaśnienia tutaj: https://stackoverflow.com/a/17271385/1418796

+0

i jakich przypadkach spowodowałoby $ http poza normalnym cyklem kątowej? tylko limity czasu i ajax, które nie są uruchamiane przez $ timeout lub $ http? –

+0

@RogerAlsing tak to są główne czasy. JEŚLI używasz limitów czasu, rozważ użycie [$ timeout] (http://docs.angularjs.org/api/ng.$timeout) –

+0

@RogerAlsing także wszystkie żądania '$ http' wywołane przez zwykłe programy obsługi zdarzenia DOM (zwykle w dyrektywy). –

Powiązane problemy