Maison  >  Article  >  interface Web  >  Comment implémenter le scroller en vue pour revenir à la page et mémoriser la position de défilement

Comment implémenter le scroller en vue pour revenir à la page et mémoriser la position de défilement

亚连
亚连original
2018-06-08 18:22:203162parcourir

Cet article présente principalement l'exemple de code permettant à vue scroller de revenir à la page et de mémoriser la position de défilement. Il est très bon et a une valeur de référence. Les amis dans le besoin peuvent s'y référer

1. . Définir keepAlive : que ce soit Cache

router:
{
path: '/actlist',
name: 'actlist',
component: actlist,
meta: {
keepAlive: true
}
}

2, définir la page de rendu

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, enregistrez la position de défilement et attribuez la valeur

beforeRouteEnter(to,from,next){
if(!sessionStorage.askPositon || from.path == &#39;/&#39;){//当前页面刷新不需要切换位置
sessionStorage.askPositon = &#39;&#39;;
next();
}else{
next(vm => {
if(vm && vm.$refs.my_scroller){//通过vm实例访问this
setTimeout(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()
}

Ce qui précède est ce que j'ai compilé pour tout le monde. J'espère que cela sera utile à tout le monde à l'avenir.

Articles connexes :

Comment implémenter la modification de style par défaut dans elementui

Comment définir votre propre sélection basée sur ng-alain dans Composants angulaires ?

Comment créer element-ui (tutoriel détaillé)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn