将一个使用Swiper框架的轮播图,先将其设置display: none,然后在页面加载完成后再让其显示。
出现了修改<swiper-container></swiper-container>
的display属性后swiper轮播图失效的问题,上下页按钮无法点击,并且页面显示只有第一页。
注意这里使用了isLoaded作为判断,是否显示swiper-wraper。之后在页面加载完后将data中的isLoaded修改为true(初始时isLoaded为false)。
注意这里如果给swiper-container加v-show无法实现效果。
另外需要在初始化Swiper时加上配置选项observer和obeserveParents,实现监测swiper动态改变后自动初始化swiper.
参考文档:https://www.swiper.com.cn/api/observer/218.html
observer:true,/*启动动态检查器,当改变swiper的样式(例如隐藏/显示)或者修改swiper的子元素时,自动初始化swiper。*/
observeParents:true,/*将observe应用于Swiper的父元素。当Swiper的父元素变化时,例如window.resize,Swiper更新。*/
<div class="wrapper w-full swiper-container" >
<div class="swiper-wrapper" v-show="isLoaded">