2013-12-21 2 views
1

이 질문에 정답이 없으면 몇 번만 묻습니다. 잘하면이 질문/답변으로 많은 사람들의 문제가 해결됩니다. 기본적으로AngularJS 리디렉션이 이전 템플릿을 깜박임

그래서처럼, 내 경로에 부착 된 해결 개체가 :

$location.path("/home"); 

모든 :

$routeProvider 
    .when('/', 
    { 
     templateUrl: "html/landing.html", 
     controller: "LandingController", 
     resolve: { 
      app: function ($q, $location) { 
       var defer = $q.defer(); 
       var next = "landing"; 
       checkRedirect(defer, $location, next); 
       return defer.promise; 
      } 
     } 
    }); 

checkRedirect 기능 AJAX 통화의 커플이 $location과 같이 변경 될 수 있습니다 않습니다 예상대로 작동하지만 리디렉션이 발생하는 어떤 이유로 인해 이전 경로의 템플릿이 1 초 동안 깜박 거리고 올바른 템플릿이 리디렉션되고 렌더링됩니다.

답변

0

다음은 기존 템플릿이 깜박이는 동안 "split second"에 대한 본문을 기본적으로 숨기는 해킹입니다. 그러나 누군가 실제 해결책을 가지고 있다면 공유하십시오.

$rootScope.$on('$locationChangeStart', function (event) { 
    $('body').hide(); 
    setTimeout(function() { 
     $('body').show(); 
    }, 100); 
}); 
관련 문제