Maison  >  Article  >  interface Web  >  Introduction au code de vue-scroller pour enregistrer la position de défilement

Introduction au code de vue-scroller pour enregistrer la position de défilement

不言
不言original
2018-06-30 16:59:222152parcourir

Cet article présente principalement l'exemple de code pour vue-scroller pour enregistrer la position de défilement. Le contenu est assez bon, je vais le partager avec vous maintenant et le donner comme référence.

Description du problème :

La page de liste entre dans la page de détails, ou la page à onglet change, puis revient à la page de liste, dans l'espoir de passer au défilement précédent position

Idées pour résoudre le problème :

Enregistrez la position avant de passer à d'autres pages, et revenez à la position en revenant à la page de liste. Cela doit être réalisé à l'aide des hooks beforeRouteEnter et beforeRouteLeave de vue-router

Il existe également une méthode plus simple et plus grossière. Ajoutez un jugement selon lequel la largeur et la hauteur ne sont pas nulles dans le vue-scroller. Code source min.js. Voir les commentaires sur la méthode d'implémentation, qui a été découverte lors de l'optimisation récente du code.

Partie du code :

beforeRouteEnter(to,from,next){

 if(!sessionStorage.askPositon || from.path == '/'){//当前页面刷新不需要切换位置

  sessionStorage.askPositon = '';

  next();

 }else{

  next(vm => {

    if(vm && vm.$refs.scrollerBottom){//通过vm实例访问this

     setTimeout(function () {

      vm.$refs.scrollerBottom.scrollTo(0, sessionStorage.askPositon, false);

     },0)//同步转异步操作

    }

  })

 }

},

beforeRouteLeave(to,from,next){//记录离开时的位置

 sessionStorage.askPositon = this.$refs.scrollerBottom && this.$refs.scrollerBottom.getPosition() && this.$refs.scrollerBottom.getPosition().top;

 next()

},

Points à noter :

1. Lorsque vous utilisez l'API de vue-scroller

2.beforeRouteEnter, vous ne pouvez pas accéder à l'instance de vue via cela. Vous devez utiliser vm

3.setTimeout 0

Lorsque la version est. sorti la semaine prochaine, je publierai un lien pour que vous puissiez découvrir l'effet

Ce qui précède est l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'apprentissage de chacun. Pour plus de contenu connexe, s'il vous plaît. faites attention au réseau chinois PHP !

Recommandations associées :

Introduction à la méthode d'utilisation du plug-in better-scroll dans Angular

Comment comprendre la modification .sync de Vue L'utilisation de symboles

Introduction au développement des composants glisser-déposer de Vue

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