vue中使用Swiper划不动现象解决办法

Swiper实例化

new Swiper(".home-banner",{
                    loop:true,
                    pagination:{
                        el:".swiper-pagination"
                    }
                })

**这时候会出现,划不动现象,产生的原因是本来这个地方是没有swiper-slide这个数据的,后续我们发送了ajax请求,他才会动态生成六个swiperslide,banners数据立马改变了,它内部会生成新的虚拟dom和上一次虚拟dom结构作对比,然后产生新的真实dom,这个过程需要时间,但是我们立马实例化了,所以等到真实dom渲染完成后实例化早就结束了。
**
解决方法就是我们必须要等到因为数据改变了引发新的真实dom渲染完成后才会执行的操作,就可以避免这样的问题。

(2)this. n e x t T i c k 函 数 所 以 我 们 需 要 把 实 例 化 的 过 程 写 在 t h i s . nextTick函数 所以我们需要把实例化的过程写在this. nextTickthis.nextTick的回调函数中,在这个函数里面进行的操作就是等到数据更新而引发的页面当中新的虚拟dom所渲染成的真实dom真正渲染出来之后才执行,简单来说就是等到页面全部渲染完成后,再进行实例化操作。

this.$nextTick(()=>{//在这个函数里面,因为数据改变导致页面生成新的真实dom,全部渲染完成了
                new Swiper(".home-banner",{
                    loop:true,
                    pagination:{
                        el:".swiper-pagination"
                    }
                })
            })
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue使用Swiper,可以按照以下步骤进行: 1. 安装Swiper 在终端使用npm命令安装Swiper: ``` npm install swiper --save ``` 2. 引入Swiper 在需要使用Swiper的组件,通过import语句引入Swiper: ``` import Swiper from 'swiper' import 'swiper/css/swiper.css' ``` 其,第二行代码是引入Swiper的样式文件。 3. 初始化Swiper 在组件的mounted钩子函数初始化Swiper: ``` mounted () { new Swiper('.swiper-container', { // Swiper的配置参数 }) } ``` 其,`.swiper-container`是Swiper容器的类名,Swiper的配置参数可以根据需要进行设置。 4. 编写Swiper容器 在组件的template,编写Swiper容器: ``` <template> <div class="swiper-container"> <div class="swiper-wrapper"> <!-- Swiper的内容 --> </div> </div> </template> ``` 其,`.swiper-wrapper`是Swiper的内容容器,可以在其编写Swiper的内容。 5. 完整代码示例 ``` <template> <div class="swiper-container"> <div class="swiper-wrapper"> <div class="swiper-slide"> <!-- Swiper的内容 --> </div> <div class="swiper-slide"> <!-- Swiper的内容 --> </div> <div class="swiper-slide"> <!-- Swiper的内容 --> </div> </div> </div> </template> <script> import Swiper from 'swiper' import 'swiper/css/swiper.css' export default { mounted () { new Swiper('.swiper-container', { // Swiper的配置参数 }) } } </script> <style> .swiper-container { width: 100%; height: 100%; } .swiper-slide { text-align: center; font-size: 18px; background: #fff; /* required swiper properties */ flex: 1; justify-content: center; align-items: center; } </style> ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值