解决vue中使用swiper插件——李帅醒博客

解决vue中使用swiper插件,在引入swiper插件后,发现无法正常运行微笑

这次我们模拟从后台取下数据,然后数据绑定在swiper标签中。

<template>
    <div class="home_page">
        <m-header></m-header>
        <div id="banner">
            <div class="swiper-container">
                <div class="swiper-wrapper">
                    <div class="swiper-slide" v-for="items in swiper"><a href=""><img :src="items.activity.img"></a></div>
                </div>
                <div class="swiper-pagination"></div>
            </div>
        </div>
    </div>
</template>

 

<script> 
import Swiper from "../../static/js/swiper-3.4.0.min.js";
import mHeader from 'components/header.vue';
export default {
    components: {
        mHeader
    },
    data() {
        return {
            swiper: []
        }
    },
    created(){
        this.getList()
    },
    methods: {
        getList() {
            this.$http.get("http://www.vrserver.applinzi.com/aixianfeng/apihome.php").then((res) => {
                this.swiper = res.data.data.slide;
                // 数据回来了,DOM还没渲染完,所以需要调用Vue提供的$nextTick方法,再进行swiper初始化。
                this.$nextTick(() => {
                    this.initSwiper();
                })
            })
        },
        initSwiper() {
            let mySwiper = new Swiper('.swiper-container', {
                autoplay: 2000,//可选选项,自动滑动
                //分页器
                pagination: '.swiper-pagination',
                paginationClickable: true,
                observer: true
            })
        }
    }
}
</script>

 重点就在$nextTick的使用,$nextTick 是在下次 DOM 更新循环结束之后执行延迟回调,在修改数据之后使用 $nextTick,则可以在回调中获取更新后的 DOM。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值