vant滚动加载更多,vant左右滑动组件

  vant滚动加载更多,vant左右滑动组件

  这篇文章主要介绍了栈列表组件滚动保留滚动条位置,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  栈列表组件滚动保留滚动条位置,需结合保持活跃使用,分享此篇,供大家参考。

  1、保存位置的前提是用的保持活跃组件来做缓存,app.vue代码

  模板

  div id=应用程序

  点火电极

  路由器-查看v-if= $ route。meta。keepalive /

  /保持活力

  路由器-查看v-if=!$route.meta.keepAlive/

  /div

  /模板

  2、在路由文件router.js,给每个路由自指的添加滚动顶部和保持活跃

  {

  路径:"/home ",

  姓名:家,

  component:resolve=require([ @/views/home/index。vue ],解决),

  元:{

  标题: 首页,

  指数:1,

  保持活动状态:真的,

  滚动条:0

  }

  },

  {

  路径:"/分类",

  名称:分类,

  component:resolve=require([ @/views/classify/index。vue ],解决),

  元:{

  标题: 分类,

  指数:1,

  保持活动状态:真的,

  滚动条:0

  }

  },

  {

  路径:"/购物",

  名称:购物,

  component:resolve=require([ @/views/shopping/index。vue ],解决),

  元:{

  标题: 购物车,

  指数:1,

  保持活动状态:真的,

  滚动条:0

  }

  },

  {

  路径:"/详细",

  名称:详细信息,

  component:resolve=require([ @/views/detail/index。vue ],解决),

  元:{

  标题: 详情,

  指数:2,

  //keepAlive: true,

  //scrollTop: 0

  }

  },

  3、然后在main.js,记录滚动条的位置

  router.beforeEach(收件人,发件人,下一个)={

  if (from.meta.keepAlive) {

  const $ wrapper=document。查询选择器(.app-wrapper’);//列表的外层容器注意找到滚动的盒子

  const scrollTop=$wrapper?$包装。滚动顶部:0;

  console.log(scrollTop=,scrollTop)

  从。meta。滚动顶部=滚动顶部;

  }

  next();

  });

  4、最后在需要记录保留滚动条位置的地方获取通过已激活(这个函数每次进入页面都会执行,只有结合使用保持活跃组件才有效)来获取滚动顶部

  已激活(){

  const scrollTop=this .$ route。meta。滚动顶部;

  const $ wrapper=document。查询选择器(.app-wrapper’);

  if (scrollTop $wrapper) {

  $包装。滚动顶部=滚动顶部;

  }

  },

  比如缓存了某些页面也不想随之滚动,则把滚动顶部置0即可;

  已激活(){

  const $ wrapper=document。查询选择器(.app-wrapper’);

  $包装。scroll top=0;

  },

  注意,页面滚动的话,其他页面有滚动条的也会随之滚动,可以对其他页面里面处理,或者判断是否从详情页到列表页来判断是否缓存位置,如果不是,则回到顶部,但是注意路由钩子函数这的使用;

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: