/ / Czy można sprawdzić, czy aktualna zmiana trasy jest regułą przekierowania? - angularjs, trasy, dostawca trasy

Czy można sprawdzić, czy aktualna zmiana trasy jest regułą przekierowania? - angularjs, trasy, route-provider

Stworzyłem moduł kątowy, który używa bieżącej zmiennej $ location.path do dynamicznego ładowania zawartości. Konfiguruję moduł config tak:

var app = angular.module("App",["ngRoute"]).
config(
["$routeProvider","$locationProvider","$sceProvider"],
function($routeProvider,$locationProvider,$sceProvider){
$routeProvider.
otherwise({
templateUrl: "views/_view.html",
controller: "ViewCtr",
resolve: {
load: function(dataFactory,$route,$location){
return dataFactory.load($location.path());
}
}
});
$locationProvider.html5Mode(true);
$sceProvider.enabled(false);
});

Działa doskonale, chociaż gdy ustawiam $ scope.$ on ("$ routeChangeStart"), aby dodać animacje podczas wczytywania zawartości, dwukrotnie uruchamia zmianę trasy. Wierzę, że to dlatego, że ustawić routeProider jako "inaczej" i przekierowuje za każdym razem.

Czy możesz mnie poprawić, jeśli się mylę lub powiedzieć, czy i jak można odróżnić od rzeczywistej zmiany trasy i przekierowania? Dziękuję Ci.

Odpowiedzi:

0 dla odpowiedzi № 1

Przejdź do opcji $ routeChangeSuccess zamiast $ routeChangeStart. Chciałbym też zajrzeć do Ng-animate (https://docs.angularjs.org/api/ngAnimate), ponieważ prawdopodobnie będzie w stanie obsłużyć go lepiej, niż słuchasz w routingu.