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 相关文章推荐
客户端脚本中常常出现的一些问题和调试技巧
Jan 09 Javascript
jquery实现居中弹出层代码
Aug 25 Javascript
js判读浏览器是否支持html5的canvas的代码
Nov 18 Javascript
JQuery给元素绑定click事件多次执行的解决方法
May 29 Javascript
jQuery的几个我们必须了解的特点
May 03 Javascript
JS或jQuery获取ASP.NET服务器控件ID的方法
Jun 08 Javascript
JavaScript操作class和style样式代码详解
Feb 13 Javascript
页面get请求 中文参数方法乱码问题的快速解决方法
May 31 Javascript
利用原生js和jQuery实现单选框的勾选和取消操作的方法
Sep 04 Javascript
jQuery基于正则表达式的表单验证功能示例
Jan 21 Javascript
微信小程序新增的拖动组件movable-view使用教程
May 20 Javascript
详解Node.js利用node-git-server快速搭建git服务器
Sep 27 Javascript
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
php mysql Errcode: 28 终极解决方法
2009/07/01 PHP
php设计模式 Chain Of Responsibility (职责链模式)
2011/06/26 PHP
PHP登陆后跳转到登陆前页面实现思路及代码
2014/01/17 PHP
SCP远程VPS快速搬家和WDCP升级php5.3安装memcached和eaccelerator教程
2017/07/27 PHP
PHP文件操作简单介绍及函数汇总
2020/12/11 PHP
jQuery 技巧大全(新手入门篇)
2009/05/12 Javascript
JavaScript 动态添加表格行 使用模板、标记
2009/10/24 Javascript
用jquery实现自定义风格的滑动条实现代码
2011/04/26 Javascript
Ajax搜索结果页面下方的分页按钮的生成
2012/04/05 Javascript
JQuery 操作/获取table具体代码
2013/06/13 Javascript
使用JS画图之点、线、面
2015/01/12 Javascript
JavaScript 模块化编程(笔记)
2015/04/08 Javascript
JQuery控制radio选中和不选中方法总结
2015/04/15 Javascript
再次谈论Javascript中的this
2016/06/23 Javascript
JS获取及验证开始结束日期的方法
2016/08/20 Javascript
浅谈js常用内置方法和对象
2016/09/24 Javascript
node.js文件上传处理示例
2016/10/27 Javascript
JS实现图片垂直居中显示小结
2016/12/13 Javascript
JS实现的文字间歇循环滚动效果完整示例
2018/02/13 Javascript
JSON数据中存在单个转义字符“\”的处理方法
2018/07/11 Javascript
JS如何生成动态列表
2020/09/22 Javascript
简单介绍Python中的readline()方法的使用
2015/05/24 Python
Python判断文本中消息重复次数的方法
2016/04/27 Python
bat和python批量重命名文件的实现代码
2016/05/19 Python
Python批量生成特定尺寸图片及图画任意文字的实例
2019/01/30 Python
Python numpy中矩阵的基本用法汇总
2019/02/12 Python
Python笔记之工厂模式
2019/11/20 Python
浅谈Html5页面打开app的一些思考
2020/03/30 HTML / CSS
Exoticca英国:以最优惠的价格提供豪华异国情调旅行
2018/10/18 全球购物
英国最大的独立玩具专卖店:The Entertainer
2019/09/06 全球购物
内部类的定义、种类以及优点
2013/10/16 面试题
学校艾滋病宣传活动总结
2015/05/09 职场文书
Python基础之赋值,浅拷贝,深拷贝的区别
2021/04/30 Python
pytorch实现ResNet结构的实例代码
2021/05/17 Python
Python还能这么玩之用Python修改了班花的开机密码
2021/06/04 Python
Python列表的索引与切片
2022/04/07 Python