vue 使用 swiper 的 slideTo 问题

第一个页面是 1 2 3 4 四个列表
第二个页面是 swiper 页面,也是四个页面,分别对应第一个页面里的四个
点击第一个页面的 3 之后,会把 index 值带入第二个页面
然后第二个页面接收之后,用 slideTo 跳转到对应的swiper 页面

看起来应该是没问题的
但是就是不成功

这是个 vue 项目,整个页面的数据是由 axios 从后台获取的

new Swiper 和 slideTo 都是写在 mounted 中

我尝试把new Swiper 和 slideTo 写在 axios 获取数据成功的地方,也是不行

使用 initialSlide 参数,还是不行

打了断点,好像不管怎么样,slideTo执行的时候,页面还没有渲染完成,但是数据都是已经有了的

阅读 6k
2 个回答

数据有了不代表dom已经渲染出来了,可以尝试取到数据后, 放到this.$nextTick里面去new Swiper, 或者你先new Swiper, 等nextTick后调用swiper的update方法也行

把new swiper 和 slideTo 写到 updated 钩子中即可

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题