Как мога да избегна показването на страница за част от секундата, преди angular ui-router да пренасочи към друга страница?

Използвам angular ui-router за маршрутизиране и ng-token-auth за удостоверяване на моя уебсайт. Ако влязъл потребител се опита да посети страницата за вход, той трябва да бъде пренасочен към началната страница (код по-долу).

$stateProvider
.state('sign-in',{
    url: '/sign-in',
    templateUrl: 'partials/registrations/sign-in.html',
    controller: 'SigninCtrl as signin',
    resolve: {
      auth: function($auth, $state) {
        $auth.validateUser().then(function(){
          $state.go('home');
        });
      }
    }
  })

Това работи добре при промяна на състоянието или когато опреснявам страницата. Въпреки това, когато отворя връзката за влизане в нов раздел, тя показва страницата за влизане за част от секундата и след това пренасочва към началната страница.

Как мога да избегна показването на изглед на страница за влизане преди пренасочване?


person Simmi Badhan    schedule 16.09.2015    source източник


Отговори (1)


Можете да използвате Събитие за промяна на състоянието - stateChangeStart.

$stateChangeStart - задейства се при започване на прехода.

angular.module('MyApp').run(function($rootScope, $state) {
    // Check authentication before changing state
    $rootScope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams) {
        // do authentication work here
    });
});

За повече помощ - https://github.com/angular-ui/ui-router/wiki

person Mohit Pandey    schedule 16.09.2015