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 相关文章推荐
Extjs学习过程中新手容易碰到的低级错误积累
Feb 11 Javascript
javascript 简单抽屉效果的实现代码
Mar 09 Javascript
JS 加入收藏夹的代码(主流浏览器通用)
May 13 Javascript
js jquery获取当前元素的兄弟级 上一个 下一个元素
Sep 01 Javascript
常见JS验证脚本汇总
Dec 01 Javascript
js记录点击某个按钮的次数-刷新次数为初始状态的实例
Feb 15 Javascript
bootstrap multiselect 多选功能实现方法
Jun 05 Javascript
vue.js整合mint-ui里的轮播图实例代码
Dec 27 Javascript
angular6.0开发教程之如何安装angular6.0框架
Jun 29 Javascript
微信小程序环境下将文件上传到OSS的方法步骤
May 31 Javascript
在vue中使用vuex,修改state的值示例
Nov 08 Javascript
Element Input输入框的使用方法
Jul 26 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好代码风格的阶段性总结
2016/06/25 PHP
PHP实现ASCII码与字符串相互转换的方法
2017/04/29 PHP
详解phpstorm2020最新破解方法
2020/09/17 PHP
jquery实现图片等比例缩放以及max-width在ie中不兼容解决
2013/03/21 Javascript
jQuery实现 注册时选择阅读条款 左右移动
2013/04/11 Javascript
js实现的动画导航菜单效果代码
2015/09/10 Javascript
解析Node.js基于模块和包的代码部署方式
2016/02/16 Javascript
浅谈javascript中的call、apply、bind
2016/03/06 Javascript
ajax在兼容模式下失效的快速解决方法
2016/03/22 Javascript
用jQuery获取table中行id和td值的实现代码
2016/05/19 Javascript
JS正则表达式学习之贪婪和非贪婪模式实例总结
2016/12/26 Javascript
nodejs基础知识
2017/02/03 NodeJs
js仿小米手机上下滑动效果
2017/02/05 Javascript
bootstrapValidator.min.js表单验证插件
2017/02/09 Javascript
Angular多选、全选、批量选择操作实例代码
2017/03/10 Javascript
从零开始学习Node.js系列教程之SQLite3和MongoDB用法分析
2017/04/13 Javascript
微信小程序 wx:for的使用实例详解
2017/04/27 Javascript
react-router中的属性详解
2017/06/01 Javascript
解决webpack -p压缩打包react报语法错误的方法
2017/07/03 Javascript
浅谈sass在vue注意的地方
2017/08/10 Javascript
JavaScript+H5实现微信摇一摇功能
2018/05/23 Javascript
微信小程序实现登录注册功能
2020/12/29 Javascript
JavaScript中的模拟事件和自定义事件实例分析
2018/07/27 Python
appium+python自动化配置(adk、jdk、node.js)
2020/11/17 Python
UGG雪地靴荷兰官网:UGG荷兰
2016/09/09 全球购物
荷兰手表网站:Watch2Day
2018/07/02 全球购物
NYX Professional Makeup俄罗斯官网:世界知名的化妆品品牌
2019/12/26 全球购物
俄罗斯药房连锁店:ASNA
2020/06/20 全球购物
庆元旦演讲稿
2014/09/15 职场文书
群众路线查摆问题整改措施思想汇报
2014/10/10 职场文书
2014年司法所工作总结
2014/11/22 职场文书
2014年检察院个人工作总结
2014/12/09 职场文书
2014年稽查工作总结
2014/12/20 职场文书
2015年学校后勤工作总结
2015/04/08 职场文书
集结号观后感
2015/06/08 职场文书
化工厂员工工作总结
2015/10/15 职场文书