vue2项目使用swiper数据更新不成功解决办法

问题描述:

我使用的@4.5.1的版本 swiper样式在动态获取数据的时候,swiper数据替换后,呈现效果不对。使用了以下属性都无效

//初始化swiper
bannerPoint() {
            var that=this
			that.bannerswiper = new Swiper('.swiper-container', {
				
				mousewheel: true, //滚轮
				autoplay: { //自动开始
					delay: 5000, //时间间隔
					disableOnInteraction: false, //*手动操作轮播图后不会暂停*
				},
				init: true,
				initialSlide: 0,
				updateTranslate: true,//当所有的内嵌图像(img标签)加载完成后Swiper会重新初始化。

				loop: true, // 循环模式选项
				observer: true, //修改swiper自己或子元素时,自动初始化swiper
				observeParents: true,//修改swiper父元素时,自动初始化swiper
				observeSlideChildren: true,
				// 如果需要分页器
				pagination: {
					el: '.swiper-pagination',
					clickable: true, // 分页器可以点击
				},
			})
            
            //刷新
			that.$nextTick(() => {
				that.bannerswiper.update();
			})
		},

解决办法: swiper.destroy(true, true),虽然是4.5.1的版本但是还是用到swiper3API文档里面的方法,4-7版本里面方法没找到destroy,坑。

getSwiperData(){
    this.bannerswiper.destroy(true, true)//销毁所有绑定的监听事件 销毁对象、销毁样式
	this.bannerswiper.update()
    //自动滚动后,.swiper-container盒子内样式有细节差别 可以手动写样式解决,如下
	//let swiperBox = document.getElementById(id)
	//swiperBox.style.xxx = '...'
}

参考:mySwiper.destroy(deleteInstance, cleanupStyles)_swiper3参数选项

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值