swiper跳转指定slides

当然分页器,可以实现这个功能,但是如果想在菜单栏实现就需要别的方法了。

Template

      <ul><li  @click="toslide(0)">首页</li><li  @click="toslide(1)">文章</li><li  @click="toslide(2)">友链</li><li  @click="toslide(3)">关于</li></ul>

使用点击方法传递slides的索引,

注意:loop模式下的索引是对不上的,还没研究过

Methods

// slide跳转toslide (num) {this.$refs.mySwiper.swiper.slideTo(num, 1000, true)// 切换到第一个slide,速度为1秒},

我的siper-slide是组件化的方法初始化的,所以需要调用swiper的实例slideTo实现索引跳转

正常的可以到 Swiper官网查看 https://www.swiper.com.cn/api/methods/417.html,一样可以实现slides跳转

其他路由跳转指定slides

这个比较难搞,研究了我好久,需要考虑到swiper的初始化问题

索引传参的方法,我使用了sessionStorage的方法来存储

其他页面的跳转回swipers页面,并保存值

其他页面的Template

      <ul><li  @click="toslide(0)">首页</li><li  @click="toslide(1)">文章</li><li  @click="toslide(2)">友链</li><li  @click="toslide(3)">关于</li></ul>

其他页面的Methods

    toHome (num) {window.sessionStorage.setItem('slide', num)this.$router.push('home')}

Swiper的初始化问题

我将Vue的一些生命周期执行打印了出来,发现swiper的初始化,比其他的都要晚,

意味着获取到索引但是却执行不了swiper的跳转,因为swiper还没有初始化完成。

本人又是小白,swiper官网找了好久也没找到swiper初始化后可以执行的事件

最后只能使用延时执行,延时执行属于异步,同步执行完才到异步,所以没问题啦

JS

data(){return{ slideId: 0
}
},
created(){this.slidesId = window.sessionStorage.getItem('slide')   //获取索引this.delay(this.slidesId)    //执行延时方法,并传递索引
},
methods: {// 其他页面跳转指定slidesdelay () {// 值得注意的是这里在setTimeout函数如果使用到了this,必须在函数外定义一个变量来暂存this。如果不需要使用this,则不用定义。var self = thissetTimeout(function () {console.log('延时了执行')self.$refs.mySwiper.swiper.slideTo(self.slidesId, 1000, true)}, 500)// 设置回索引0,刷新后created也只会跳转首页window.sessionStorage.setItem('slide', 0)}
}


设置了0.5秒的延时,效果来说,并不影响体验,网上没找到类似的方法,记录一下。

出于解决问题的思路去做,并没有考虑太多方面的问题,大神们有更好的方法也可以分享出来

swiper跳转指定slides,其他路由跳转swiper指定slides相关推荐

  1. vue 函数 路由跳转_vue中通过路由跳转的三种方式

    router-view 实现路由内容的地方,引入组件时写到需要引入的地方 需要注意的是,使用vue-router控制路由则必须router-view作为容器. 通过路由跳转的三种方式 1.router ...

  2. vue2.0 点击跳转传参--vue路由跳转传参数

    vue中路由跳转传参数有多种,自己常用的是下面的几种 通过router-link进行跳转 通过编程导航进行路由跳转 1. router-link [html] view plaincopy <r ...

  3. vue地址栏输入路由跳转到首页_Vue路由跳转到新页面时 默认在页面最底部 而不是最顶部 的解决...

    php截取字符串函数 public function sub_string($str, $len, $charset="utf-8") { if( !is_numeric($len ...

  4. react实现路由跳转拦截功能(导航守卫)

    react实现路由跳转拦截功能(导航守卫) 背景 方法1:通过Prompt组件实现react路由跳转拦截功能 Prompt组件介绍 Prompt组件示例 自定义Prompt组件的提示弹窗 方法2:通过 ...

  5. flutter中的路由跳转

    在前面的基本路由和命名路由中,都演示了如何进行路由跳转,并且在路由跳转以后,可以借用系统自带的按钮就行返回上一级,当然了,也可以自定义按钮返回上一级. 返回上一级 在前面的例子中,当从Home.dar ...

  6. Angular中使用JS实现路由跳转、动态路由传值、get方式传值

    场景 Angular介绍.安装Angular Cli.创建Angular项目入门教程: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/detail ...

  7. vue路由跳转以及路由传参接收

    路由跳转 1.声明式路由跳转 (不带参数) 通过router-link标签进行跳转,使用name或者path都可以,在dom结构中会被渲染成a标签 注意:router-link中链接如果是'/'开始就 ...

  8. VUE—跳转到该父路由下的指定子路由(图文详情)

    VUE-跳转到该父路由下的指定子路由 第一步:在index.js里配置路由,父路由不写name,指定子路由写父路由的name,其余子路由路由前不加'/' {path: '/Layout',compon ...

  9. 2种方式解决vue路由跳转未匹配相应路由避免出现空白页面或者指定404页面

    1.路由全局守卫 在做项目的时候,遇到需要做路由跳转,但当用户输入错误url地址,或是其它非法url路由地址,我们或许会想到跳转至404页面.不管你有没有写一个404页面,当出现未匹配路由都需重新指定 ...

最新文章

  1. 初中计算机基础知识教程考试,2017年职称计算机考试基础知识教程详解(三十一)...
  2. 不朽传奇-云计算技术背后的那些天才程序员:Qemu的作者法布里斯贝拉
  3. 局域网内连接MySQL
  4. JDBC学习笔记(7)——事务的隔离级别批量处理
  5. 带你了解WDR-GaussDB(DWS) 的性能监测报告
  6. java spring 过滤器_java – 如何在spring-security中的另一个过滤器之前添加过滤器?...
  7. 无线Wifi模块AP和STA工作模式详解
  8. Basic serial port listening application
  9. ajax的结果处理,jQuery ajax返回数据的后续处理
  10. 微型计算机机安装硬盘教程,台式机械硬盘怎么安装?机械硬盘安装图解教程(SATA固态可参考)...
  11. STM32实现薄膜压力传感器数据采集(标准库和HAL库实现)
  12. cad转excel插件c2e_cad表格转换器2016
  13. css3顺时,CSS3 - 顺时针旋转比逆时针
  14. 本地IP与网络IP的区别与查询方式
  15. hdu4322 candy 费用流
  16. 【Spring Cloud 基础设施搭建系列】Spring Cloud Demo项目 将微服务运行在Docker上
  17. Python标准库time
  18. 2022元宇宙十大 “闪光时刻”
  19. 别再骂百度难用了,问题是你根本就不会用搜索引擎!
  20. AMD显卡如何设置高性能?

热门文章

  1. 13种最为荒谬的编程语言
  2. 家用人体体重秤方案规格书
  3. 怎样实现在单片机上跑LINUX系统,简述Linux如何应用在嵌入式单片机上
  4. POE交换机和普通交换机的区别介绍
  5. linux 10 -Bash Shell编程
  6. 实践中如何优化MySQL
  7. Youtube推荐系统论文-《Deep Neural Networks for YouTube Recommendations》-简单总结
  8. 电脑台式计算机描述不可用,【计算机描述不可用】计算机描述不可用步骤_计算机分级不可用-系统城...
  9. 为提高 SDLC 安全,GitHub 发布新功能|GitHub Universe 2022
  10. 华为 、锐捷、新华三、睿易网络设备怎么选