2017-11-06 5 views
0

ルーターが変更されたときの角4では、ページが上にスクロールしません。角度JS 4 +明瞭度スクロールトップ非表示ヘッダー

私のソリューションは#topトップでのdivを入れて、typescriptですで、私は

<div #top></div>

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

@ViewChild('top') top: ElementRef;

そして、私は私を必要とするすべてを開始し、読み込むようのscrollIntoViewにViewChildを使用しています電話

this.top.nativeElement.scrollIntoView();

これはPCで動作しますが、モバイルでは、透明度ヘッダーが非表示になります(<clr-header>)。スクロールヘッダーは再び表示されますが、ユーザーには悪い体験を与えます。

ヘッダーはルートにあり、ネストされたルートはすべて「router-outlet」内にあるので、ネストされたルートのスクロールトップに対する私のソリューションはルートにはなりません。

私はこのコマンドをrootで使ってみましたが動作しません。 "scroll Top"はネストされたルートで動作します。

私はすでに次のコマンドを試してみました:

window.scrollTo(0, 0)は(角ドキュメントモジュールを使用して)

this.document.body.scrollTop = 0を働くない

そして他の多くの作品はない

を作品ない...誰も助けることができます?

答えて

0

これはすべてのブラウザをカバーすると動作するはず

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

を試してみてください。