2016-06-27 3 views
0

페이지가로드되는 동안 전체 페이지에로드 표시기 (회 전자)를 설정하는 지정 문을 작성했습니다. 내 지시어는 하나 개의 인수를 가지고 : 스피 표시 여부를해야한다 :이 router.subscribe가 매번 호출됩니다Angular2 페이지 변경시로드 표시기 설정

this.pageLoaded = false 
    router.subscribe((routeName: String) => { 
     /* Other stuff */ 
     this.pageLoaded= true 
    }) 

: <div class="app-container" [busy]=!pageLoaded> 내 응용 프로그램 구성 요소에서

, 내가 생성자에서 다음을 수행 한 라우터가 한 페이지에서 다른 페이지로 변경됩니다. 유일한 문제는 내 pageLoaded이 진정한 가치를 유지한다는 것입니다. 내 busy 지시어를 트리거하지 않으면 어떻게 다시 false로 설정할 수 있습니까?

+0

[코너 2 경로를 탐색 표시 로딩 화면] http://stackoverflow.com/questions/37069609/show-loading-screen-when-navigating-between-routes-in-angular -2/37070282 # 37070282) 도움을받을 수 있습니다. –

답변

0

내가 일반적으로하는 일 : 경로 변경이 매우 빠릅니다. 나는 당신이 루트에 대한 몇 가지 해결 (데이터 가져 오기)를 원한다고 가정합니다. 그래서이 경우 요청이 시작될 때 로컬 카운터를 증가시키고 요청이 끝나거나 실패 할 때 응답을 감소시키는 http 핸들러를 만들었습니다. 거기 카운터가 gt 0 쇼 로더입니다.

특별한 경우 로더를 보여주고 싶지 않다면, 나는 보통 요청 객체에 대한 설정으로이를 제공하고이 세트를 기반으로 카운터를 어떻게 할 것인지 결정해야합니다.

안부

(
관련 문제