javascript - vue ne peut pas maintenir la position de défilement en utilisant keep-alive.
PHP中文网
PHP中文网 2017-05-16 13:31:13
0
1
792

Vue de dessus<router-view>设置<keep-alive>Bien qu'il puisse mettre en cache les données et scrollTop, après avoir utilisé pull-up pour charger plus de données et cliqué sur une page d'élément pour revenir, la position scrollTop de la page précédente ne peut pas être enregistrée avec précision et l'écart sera relativement important, parfois. Retour en haut Avez-vous déjà eu le même problème ?

//自己稍微精准控制一下scrollTop,但是keep-alive还是按照缓存记录scrollTop滚动。
$("html,body").animate({scrollTop:this.scrollTopDistance},0);
PHP中文网
PHP中文网

认证高级PHP讲师

répondre à tous(1)
为情所困

J'ai également rencontré le même problème. Je prévois d'utiliser le cache pour stocker la position de la barre de défilement sur chaque page, puis de la retirer et de définir la position lors du retour à la page. Mais j'ai l'impression que cette méthode est tellement grossière. Je n'ai pas encore trouvé de meilleur moyen, je vais donc l'étudier plus en détail.

Le vue-router que je viens de vérifier a une fonction scrollBehavior qui peut le faire,

scrollBehavior : fonction (vers, depuis, savingPosition) {

return savedPosition || { x: 0, y: 0 }

}, prêt à y jeter un œil demain

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal