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 相关文章推荐
jQuery 1.0.2
Oct 11 Javascript
ymPrompt的doHandler方法来实现获取子窗口返回值的方法
Jun 25 Javascript
jQuery函数map()和each()介绍及异同点分析
Nov 08 Javascript
浅谈javascript对象模型和function对象
Dec 26 Javascript
JS输入用户名自动显示邮箱后缀列表的方法
Jan 27 Javascript
js阻止冒泡和默认事件(默认行为)详解
Oct 20 Javascript
AngularJS实现单一页面内设置跳转路由的方法
Jun 28 Javascript
基于ajax和jsonp的原生封装(实例)
Oct 16 Javascript
Angular实现的table表格排序功能完整示例
Dec 22 Javascript
vue-自定义组件传值的实例讲解
Sep 18 Javascript
使用RxJS更优雅地进行定时请求详析
Jun 02 Javascript
解决layui的table插件无法多层级获取json数据的问题
Sep 19 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
咖啡语言
2021/03/03 咖啡文化
BBS(php &amp; mysql)完整版(五)
2006/10/09 PHP
PHP函数篇之掌握ord()与chr()函数应用
2011/12/05 PHP
对PHP语言认识上需要避免的10大误区
2014/06/12 PHP
js中取得变量绝对值的方法
2015/01/03 Javascript
使用Raygun来自动追踪AngularJS中的异常
2015/06/23 Javascript
js判断子窗体是否关闭的方法
2015/08/11 Javascript
JS iFrame加载慢怎么解决
2016/05/13 Javascript
js添加事件的通用方法推荐
2016/05/15 Javascript
Vue组件tree实现树形菜单
2017/04/13 Javascript
详解angularjs 学习之 scope作用域
2018/01/15 Javascript
vue element-ui 绑定@keyup事件无效的解决方法
2018/03/09 Javascript
详解Js里的for…in和for…of的用法
2019/03/28 Javascript
在Vue项目中使用jsencrypt.js对数据进行加密传输的方法
2019/04/17 Javascript
[02:32]DOTA2亚洲邀请赛 C9战队出场宣传片
2015/02/07 DOTA
python实现K最近邻算法
2018/01/29 Python
python 实现敏感词过滤的方法
2019/01/21 Python
python 使用matplotlib 实现从文件中读取x,y坐标的可视化方法
2019/07/04 Python
django数据关系一对多、多对多模型、自关联的建立
2019/07/24 Python
Python 使用matplotlib模块模拟掷骰子
2019/08/08 Python
python 安装impala包步骤
2020/03/28 Python
Python将二维列表list的数据输出(TXT,Excel)
2020/04/23 Python
全网首秀之Pycharm十大实用技巧(推荐)
2020/04/27 Python
重写django的model下的objects模型管理器方式
2020/05/15 Python
Java爬虫技术框架之Heritrix框架详解
2020/07/22 Python
python如何支持并发方法详解
2020/07/25 Python
AVON雅芳官网:世界上最大的美容化妆品公司之一
2016/11/02 全球购物
介绍一下如何利用路径遍历进行攻击及如何防范
2014/01/19 面试题
汉语言文学毕业生自荐信范文
2014/03/24 职场文书
检举信的格式及范文
2014/04/04 职场文书
学生检讨书如何写
2014/10/30 职场文书
2015年发展党员工作总结报告
2015/03/31 职场文书
公司出差管理制度范本
2015/08/05 职场文书
2019年思想汇报
2019/06/20 职场文书
matplotlib画混淆矩阵与正确率曲线的实例代码
2021/06/01 Python
Java Spring Boot 正确读取配置文件中的属性的值
2022/04/20 Java/Android