vue项目中swiper修改swiperOptions之后重新初始化及在低版本安卓手机白屏的问题

情景:在vue的项目中使用swiper实现卡片滑动效果,因有需求,需要在点击某个slide后修改swiperOptions属性然后重新初始化swiper,(vue-cli3创建的项目,写法是官方github上vue中的写法)

尝试

  1.swiper5 直接实现,修改swiperOptions后,用swiper.destroy()销毁,然后使用this.$refs.mySwiper.initSwiper()可以实现,但是出现问题,在低版本的安卓手机页面白屏,报错Unexpected token....

  2.因为之前遇到过这种不兼容的问题(改为低版本的swiper4解决了),所以同样改为了swiper4想要实现,但是swiper4中没有发现有this.$refs.mySwiper.initSwiper()这个方法,尝试了别的api方法,无效

  3.搜索到很多解释,都是因为swiper包没有转为es5导致的,于是尝试了配置转换的方法,像添加.babelrc文件,修改babel.config.js, vue.config.js,也装了依赖,不是报错就是没用,也可能是我用错了

  4.使用直接引入转换后的swiper.min.js包的方法,原本使用第一行,直接引入组件

我引入了之后因为使用的还是原本的组件应用方法,所以没能奏效

  5.使用cdn的引入方法,https://www.swiper.com.cn/cdn/index.html,然后写法使用 var mySwiper = new Swiper('.swiperBox',...),ok的,只是重新初始化就要用重新new的方式了

  6.因为,官方提示,所以准备直接把js文件下载下来放入项目用,当我下载下来之后,突然想到,下载下来的文件,跟依赖包里的文件应该是一样的,只是可能我之前并没有用new的方式写,所以不行,所以尝试了下,4中截图的方式,加上new的写法,发现可以。至此算是解决。

解决

以上4,5,6

你可能感兴趣的:(H5与App,swiper,兼容性,vue,安卓,swipe,前端,es6)