vue+swiper实现组件化开发的实例代码


Posted in Javascript onOctober 26, 2017

swiper的组件

<template>
  <div class="swiper-container">
    <div class="swiper-wrapper">
      <div class="swiper-slide" v-for="item in swiper"><img :src="item.room_src" alt=""></div>
      <!--<div class="swiper-slide" v-for="item in test"><img :src="item.room_src" alt=""></div>-->
    </div>
  </div>
</template>
<script>
 import Swiper from 'swiper'
 export default {
  name: 'swiper',
  data() {
   return {
    mySwiper: null,
//    test: [
//     "https://rpic.douyucdn.cn/acrpic/171024/288016_0921.jpg",
//     "https://rpic.douyucdn.cn/acrpic/171024/748396_0924.jpg",
//     "https://rpic.douyucdn.cn/acrpic/171024/453751_0922.jpg",
//     "https://rpic.douyucdn.cn/acrpic/171024/79663_0920.jpg"
//    ]
   }
  },
  props: ['swiper'], //swiper的就是test这个数据传递来的
  methods: {
   _initSwiper() {
    this.mySwiper = new Swiper('.swiper-container', {
     autoplay: 5000,//可选选项,自动滑动
    })
   },
   _updateSwiper() {
    this.$nextTick(() => {
     this.mySwiper.update(true); //swiper update的方法
    })
   },
   swiperUpdate() {
    if (this.mySwiper) { //节点存在
     this._updateSwiper(); //更新
    } else {
     this._initSwiper(); //创建
    }
   },
  },
  watch: {
   //通过props传来的数据 和 组件一加载节点就创建成功 二者不是同步,实时监听的swiper(传递的值)的变化
   swiper() {
    this.swiperUpdate();
   }
  },
  mounted() {
   this.swiperUpdate(); //页面一加载拉去数据创建节点
  }
 }
</script>
<style lang="scss" scoped>
  .swiper-container {
    width: 100%;
    height: 4rem;
    margin-top: 0.9rem;
    .swiper-wrapper {
      width: 100%;
      height: 100%;
      .swiper-slide {
        background-size: cover;
        width: 100%;
        height: 4rem;
        img {
          width: 100%;
          height: 100%;
        }
      }
    }
  }
</style>

home.vue 调用的组件方法

//html
  <swiper :swiper="roomList.slice(6,10)" ></swiper>
//js
 import swiper from 'components/swiper/swiper'
 components: {
   swiper
  },

问题:如果单纯的调用_initSwiper的方法,会发现页面是不能滚动的,但是页面随便修改东西,然后保存的swiper又可以滚动的,这个个原因是初始swiper的节点没有创建成功,值页面有穿进去的,一层一层的可以打印swiper的值为空的,当修改东西值就能传递进去的,所以的这里的我们需要通过判断节点是否成功来update siwper的方法

Javascript 相关文章推荐
JS Timing
Apr 21 Javascript
jQuery 性能优化指南(2)
May 21 Javascript
JS 打印界面的CSS居中代码适用所有浏览器
Mar 19 Javascript
javascript 控制input只允许输入的各种指定内容
Jun 19 Javascript
Javascript判断文件是否存在(客户端/服务器端)
Sep 16 Javascript
jquery中validate与form插件提交的方式小结
Mar 26 Javascript
js实现砖头在页面拖拉效果
Nov 20 Javascript
vue中引用swiper轮播插件的教程详解
Aug 16 Javascript
JavaScript对象的特性与实践应用深入详解
Dec 30 Javascript
jQuery实现为table表格动态添加或删除tr功能示例
Feb 19 jQuery
Vue CLI3.0中使用jQuery和Bootstrap的方法
Feb 28 jQuery
jQuery模仿ToDoList实现简单的待办事项列表
Dec 30 jQuery
canvas+gif.js打造自己的数字雨头像的示例代码
Oct 26 #Javascript
使用Bootrap和Vue实现仿百度搜索功能
Oct 26 #Javascript
Vue利用路由钩子token过期后跳转到登录页的实例
Oct 26 #Javascript
vue路由跳转时判断用户是否登录功能的实现
Oct 26 #Javascript
webpack3之loader全解析
Oct 26 #Javascript
JS使用正则表达式找出最长连续子串长度
Oct 26 #Javascript
AngularJS实现的输入框字数限制提醒功能示例
Oct 26 #Javascript
You might like
如何在smarty中增加类似foreach的功能自动加载数据
2013/06/26 PHP
ThinkPHP模型详解
2015/07/27 PHP
js 火狐下取本地路径实现思路
2013/04/02 Javascript
利用JS进行图片的切换即特效展示图片
2013/12/03 Javascript
动态创建script在IE中缓存js文件时导致编码的解决方法
2014/05/04 Javascript
Jquery异步提交表单代码分享
2015/03/26 Javascript
谈谈impress.js初步理解
2015/09/09 Javascript
微信小程序 this和that详解及简单实例
2017/02/13 Javascript
JavaScript使用Ajax上传文件的示例代码
2017/08/10 Javascript
利用jquery如何从json中读取数据追加到html中
2017/12/01 jQuery
vue 每次渲染完页面后div的滚动条保持在最底部的方法
2018/03/17 Javascript
微信小程序实现倒计时补零功能
2018/07/09 Javascript
优雅的elementUI table单元格可编辑实现方法详解
2018/12/23 Javascript
微信小程序分享功能onShareAppMessage(options)用法分析
2019/04/24 Javascript
vue中v-model对select的绑定操作
2020/08/31 Javascript
js实现贪吃蛇游戏 canvas绘制地图
2020/09/09 Javascript
Python过滤txt文件内重复内容的方法
2018/10/21 Python
pycharm设置鼠标悬停查看方法设置
2019/07/29 Python
face++与python实现人脸识别签到(考勤)功能
2019/08/28 Python
python实现百度OCR图片识别过程解析
2020/01/17 Python
解决pyCharm中 module 调用失败的问题
2020/02/12 Python
Django自定义全局403、404、500错误页面的示例代码
2020/03/08 Python
Marriott中国:万豪国际酒店查询预订
2016/09/02 全球购物
世界上最好的帽子:Tilley
2016/11/27 全球购物
MIS软件工程师的面试题
2016/04/22 面试题
人事档案接收函
2014/01/12 职场文书
小学三年级数学教学反思
2014/01/31 职场文书
服务员岗位责任制
2014/02/11 职场文书
环保公益广告语
2014/03/13 职场文书
绩效工资实施方案
2014/03/15 职场文书
爱情保证书大全
2014/04/29 职场文书
信息管理与信息系统专业求职信
2014/06/21 职场文书
2015年秋学期教研工作总结
2015/10/14 职场文书
员工给公司的建议书
2019/06/24 职场文书
实战 快速定位MySQL的慢SQL
2022/03/22 MySQL
MySQL表锁、行锁、排它锁及共享锁的使用详解
2022/04/02 MySQL