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 相关文章推荐
JavaScript 对Cookie 操作的封装小结
Dec 31 Javascript
JavaScript 对象模型 执行模型
Oct 15 Javascript
javascript的document.referrer浏览器支持、失效情况总结
Jul 18 Javascript
JavaScript定义变量和变量优先级问题探讨
Oct 11 Javascript
用Jquery.load载入页面后样式没了页面混乱的解决方法
Oct 20 Javascript
触屏中的JavaScript事件分析
Feb 06 Javascript
AngularJS基础 ng-paste 指令简单示例
Aug 02 Javascript
关于vue.js组件数据流的问题
Jul 26 Javascript
浅谈Vue数据绑定的原理
Jan 08 Javascript
JS 遍历 json 和 JQuery 遍历json操作完整示例
Nov 11 jQuery
JS实现百度搜索框关键字推荐
Feb 17 Javascript
JavaScript中while循环的基础使用教程
Aug 11 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 array_multisort() 函数的深入解析
2013/06/20 PHP
DEDE实现转跳属性文档在模板上调用出转跳地址
2016/11/04 PHP
ThinkPHP简单使用memcache缓存的方法
2016/11/15 PHP
PHP获取数据库表中的数据插入新的表再原删除数据方法
2018/10/12 PHP
学习ExtJS(二) Button常用方法
2009/10/07 Javascript
六款帮助你实现惊艳视差滚动效果的jQuery插件
2012/09/14 Javascript
JS cookie中文乱码解决方法
2014/01/28 Javascript
javascript去除字符串中所有标点符号和提取纯文本的正则
2014/06/07 Javascript
jQuery中:eq()选择器用法实例
2014/12/29 Javascript
JavaScript实现自动对页面上敏感词进行屏蔽的方法
2015/07/27 Javascript
详解JavaScript函数
2015/12/01 Javascript
AngularJS进行性能调优的7个建议
2015/12/28 Javascript
谷歌Chrome浏览器扩展程序开发小记
2016/01/06 Javascript
又一枚精彩的弹幕效果jQuery实现
2016/07/25 Javascript
不间断循环滚动效果的实例代码(必看篇)
2016/10/08 Javascript
详解Vue 2.0封装axios笔记
2017/06/22 Javascript
深入理解vuex2.0 之 modules
2017/11/20 Javascript
Vue CLI 2.x搭建vue(目录最全分析)
2019/02/27 Javascript
jQuery实现带3D切割效果的轮播图功能示例【附源码下载】
2019/04/04 jQuery
微信小程序 点击切换样式scroll-view实现代码实例
2019/10/11 Javascript
解决vue-pdf查看pdf文件及打印乱码的问题
2020/11/04 Javascript
python字符串连接的N种方式总结
2014/09/17 Python
利用python模拟实现POST请求提交图片的方法
2017/07/25 Python
使用pandas实现csv/excel sheet互相转换的方法
2018/12/10 Python
从运行效率与开发效率比较Python和C++
2018/12/14 Python
python 实现二维字典的键值合并等函数
2019/12/06 Python
tensorflow转换ckpt为savermodel模型的实现
2020/05/25 Python
Python 制作查询商品历史价格的小工具
2020/10/20 Python
python Xpath语法的使用
2020/11/26 Python
CSS3的transition和animation的用法实例介绍
2014/08/20 HTML / CSS
Nike爱尔兰官方网站:Nike.com (IE)
2018/03/12 全球购物
荷兰网上药店:Drogisterij.net
2019/09/03 全球购物
网络工程师面试(三木通信技术有限公司)
2013/06/05 面试题
优秀实习自我鉴定
2013/12/04 职场文书
小学生感恩演讲稿
2014/04/25 职场文书
班主任高考寄语
2015/02/26 职场文书