最近項目中遇到這樣一個問題,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('/user') }else{ this.$router.push("/login") }}
解決辦法很簡單,如下,直接監測watch路由變化,然后將body的滾動距離scrollTop賦值為0。
export default { watch:{ '$route':function(to,from){ document.body.scrollTop = 0; document.documentElement.scrollTop = 0; } } }
補充: hash模式下才會導致上述問題,history模式下vue官網有更好的處理方法。
以上這篇vue2.0路由切換后頁面滾動位置不變BUG的解決方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。
新聞熱點
疑難解答