vue中的vant使用心得及踩坑事件:轮播组件swipe渲染的宽度为0

在开发中遇到一个Vue轮播组件van-swipe在hadImageDetail字段未获取到时渲染宽度为0的问题。原因是组件在mounted阶段就开始渲染,而数据是异步获取的。为了解决这个问题,通过控制hadImageDetail字段同步 vant 组件的渲染,成功解决了轮播图宽度为0的显示错误。
摘要由CSDN通过智能技术生成

问题现象:轮播组件swipe渲染的宽度为0

问题描述:

今天开发的时候,需要使用一个轮播图组件。
由于渲染的很多数据都是接口获取的,因此我这里通过hadImageDetail字段控制是否开始渲染。
而下图的代码中,hadImageDetail是从接口异步获取到的,而van-swipe却会在vue的mounted阶段就开始渲染,导致此时轮播图获取到的宽度为0.
在这里插入图片描述
如下图:
在这里插入图片描述

问题分析:

原因就是前面提到的,hadImageDetail字段还未从接口获取到,就渲染了van-swipe,导致van组件中的js计算出来的宽度为0。

问题解决:

知道原因后,解决办法就很简单了,通过hadImageDetail字段来同步控制vant组件的渲染即可。
在这里插入图片描述
刷新,看效果,OK
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值