前端面试题—swiper图片不动问题

swiper获取数据、css都没有问题,但是图片不动,应该怎么解决

分析原因:静态的swiper可以实现设置的功能,但在动态swiper中,swiper的功能无效了。 swiper的初始化在请求数据之前
解决方案:
1.nextTick(),用来解决DOM的先后执行问题
nextTick的原理在DOM更新完成后执行一个回调

Commons.signals.changeSwiper.add((mark) => {
     _this.markInfo = mark //这块数据修改后,for循环会自动修改数据,但是并不会轮播,所以需要下边的代码重新渲染
     if(mark.attachs && mark.attachs.length!=0){//没有数据不重新渲染
         // DOM更新了
         _this.$nextTick(() => {
           _this.initSwiper()// swiper重新初始化
         })
      }
})

2.在swiper初始化的时候加上observer和observeParents这两个属性,控制属性

new Swiper('.swiper-container', { 
	pagination: '.swiper-pagination',
	effect: 'coverflow',
	grabCursor: true,
	centeredSlides: true,
	slidesPerView: 'auto',
	loop:true,
	initialSlide : _this.activeIndex, 
	observer:true,//修改swiper自己或子元素时,自动初始化swiper
	observeParents:true,//修改swiper的父元素时,自动初始化swiper
	coverflow: {
		rotate: 50,
		stretch: 0,
		depth: 100,
		modifier: 1,
		slideShadows : true
	},
	on: {
		slideChangeTransitionEnd: function(){
			console.log(this.realIndex)
			_this.activeIndex = this.realIndex;
		},
	}
 
});
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值