ホームページ  >  記事  >  ウェブフロントエンド  >  vue2.0のルーティング切り替え後にページスクロール位置が変わらないバグの解決方法

vue2.0のルーティング切り替え後にページスクロール位置が変わらないバグの解決方法

亚连
亚连オリジナル
2018-05-30 13:56:482145ブラウズ

ここで、vue2.0 ルーティング切り替え後にページのスクロール位置が変更されないバグの解決策を共有します。これは良い参考値であり、皆様のお役に立てれば幸いです。

最近のプロジェクトでこのような問題に遭遇しました。Vue がルートを切り替えると、ページから上部までのスクロール距離が変化しません。

<a href="javascript:;" rel="external nofollow" class="btn btn01" @click="useRightNow">立即试用</a>
<router-link class="db" to="/user">个人中心</router-link>

useRightNow(){
 if(判断用户存在){
  this.$router.push(&#39;/user&#39;)
 }else{
  this.$router.push("/login")
 }
}

解決策は非常に簡単で、次のように監視ルーティングの変更を直接監視し、本体のスクロール距離scrollTopを0に割り当てます。

export default {
  watch:{
   &#39;$route&#39;:function(to,from){
           document.body.scrollTop = 0;
     document.documentElement.scrollTop = 0; 
   }
  }
 }

追加: ハッシュモードは上記の問題を引き起こすだけであり、vue公式Webサイトには履歴モードでのより良い解決策が記載されています。

上記は私があなたのためにまとめたものです。 related artated article:

Gular4ng2-file-uploadのアップロードコンポーネントを統合します。


以上がvue2.0のルーティング切り替え後にページスクロール位置が変わらないバグの解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。