• vue swiper 初始化巨坑解决方案


    vue swiper 初始化巨坑解决方案

    1延迟修改属性初始化方案

    <swiper class="swiper" :options="swiperOptionTop" ref="swiper1">
        <swiper-slide class="slide-1" v-for='item in imgList'>
            <img :src='item' />
        </swiper-slide>
    </swiper>
    export default {
        data() {
            return {
               swiperOptionTop: {
                    init:false,/*开始不初始化*/
                    slidesPerView: 3,
                    spaceBetween: 10,
                }
            }
        },
        mounted(){
            this.$refs.swiper1.$swiper.init();/*需要的时候初始化*/
        }
    }

    2 v-if控制 这个不多说了

    3 修改key

    <swiper class="swiper" :options="swiperOptionTop" ref="swiper1" :key='swiperKey'>
        <swiper-slide class="slide-1" v-for='item in imgList'>
            <img :src='item' />
        </swiper-slide>
    </swiper>
    export default {
        data() {
            return {
               swiperOptionTop: {
                    swiperKey:Math.random().toString(36).substr(2),/*随机的key*/
                    slidesPerView: 3,
                    spaceBetween: 10,
                }
            }
        },
        mounted(){
            this.swiperOptionTop.spaceBetween=20;//修改options配置
            this.swiperKey=Math.random().toString(36).substr(2);//修改key,swiper重新渲染。
        }
    }

    总之 中途不要改属性 。。。。。。改了就要重新渲染swiper组件 

  • 相关阅读:
    SVG的引入历程
    Webstorm的常用快捷键
    TypeScript
    Vue Router
    ISO8601
    html5语义化
    删除已有的 HTML 元素
    with(){}方法
    Jquery学习笔记
    css权值问题
  • 原文地址:https://www.cnblogs.com/newmiracle/p/15958988.html
Copyright © 2020-2023  润新知