2017-11-06 13 views
0

라우터가 변경되면 각도 4에서 페이지가 위쪽으로 스크롤되지 않습니다.각도 JS 4 + 선명도 ScrollTop 숨기기 머리글

내 솔루션은 #top으로 사업부를 넣어 및 타이프에 나는

<div #top></div>

import { ViewChild, ElementRef } from '@angular/core';

@ViewChild('top') top: ElementRef;

처럼 scrollIntoView에 ViewChild를 사용하여 시작하고 모두를로드 할 때 나는 필요 전화

this.top.nativeElement.scrollIntoView();

이 작업은 PC에서 가능하지만 모바일에서는 선명도 헤더가 숨겨져 (<clr-header>), 모바일로 스크롤 할 때 스크롤 헤더가 다시 표시되지만 사용자에게 좋지 않은 경험을 얻습니다. 매번 헤더가 표시됩니다.

헤더가 루트에 있고 모든 중첩 된 경로가 "router-outlet"내에 있으므로 중첩 된 경로의 Scroll Top에 대한 내 솔루션이 루트로 작동하지 않습니다.

루트에서이 명령을 사용해 보았지만 작동하지 않습니다. "스크롤 탑"은 중첩 된 경로에서 작동합니다.

이미 시도

다음 명령을

window.scrollTo(0, 0)하지 않음

하지 않음 (각도 문서 모듈을 사용하여)

this.document.body.scrollTop = 0

작동하지

그리고 많은 다른 사람 ... 수 사람의 도움 작업용 ?

답변

0

이 모든 브라우저를 포함하고 작업을해야

window.pageYOffset || document.documentElement.scrollTop ||document.body.scrollTop || 0 

을보십시오.