1,設置keepAlive:是否緩存
router:{path: '/actlist',name: 'actlist',component: actlist,meta: {keepAlive: true}}2,設置渲染頁面
app.vue
<keep-alive><router-view v-if="$route.meta.keepAlive"></router-view></keep-alive><router-view v-if="!$route.meta.keepAlive"></router-view>
3,記錄滾動位置并賦值
beforeRouteEnter(to,from,next){if(!sessionStorage.askPositon || from.path == '/'){//當前頁面刷新不需要切換位置sessionStorage.askPositon = '';next();}else{next(vm => {if(vm && vm.$refs.my_scroller){//通過vm實例訪問thissetTimeout(function () {vm.$refs.my_scroller.scrollTo(0, sessionStorage.askPositon, true);},0)//同步轉異步操作}})}},beforeRouteLeave(to,from,next){//記錄離開時的位置sessionStorage.askPositon = this.$refs.my_scroller && this.$refs.my_scroller.getPosition() && this.$refs.my_scroller.getPosition().top;next()}總結
以上所述是小編給大家介紹的vue scroller返回頁面記住滾動位置的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
新聞熱點
疑難解答