2013-02-21 10 views
24

Jaka jest różnica między $locationChangeSuccess i $locationChangeStart?

Są to nieudokumentowane zdarzenia związane z window.location.

Odpowiedz

42

The $locationChangeStart jest zwolniony, gdy angularjs zacznie aktualizować lokalizację przeglądarki na podstawie mutacji odbywa się poprzez $location usługi ($location.path(), $location.search()).

Może się zdarzyć, że aplikacja wysłucha zdarzenia $locationChangeStart i zadzwoni pod numer preventDefault(). W takim przypadku drugie zdarzenie ($locationChangeSuccess) nie będzie transmitowane.

W skrócie: $locationChangeStart uruchamia się po zaktualizowaniu lokalizacji. Następuje po nim $locationChangeSuccess, jeśli pierwsza akcja nie została zablokowana.

Istotne fragmenty kodu źródłowego tutaj: https://github.com/angular/angular.js/blob/2508b47c1a34dfc834f8fde858574f81af4d287e/src/ng/location.js#L598

Powiązane problemy