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小技巧
Jul 21 Javascript
js 编程笔记 无名函数
Jun 28 Javascript
原生js和jquery分别实现横向导航菜单效果
May 13 Javascript
jQuery简单实现点击文本框复制内容到剪贴板上的方法
Aug 01 Javascript
AngularJS教程之MVC体系结构详解
Aug 16 Javascript
微信小程序 loading(加载中提示框)实例
Oct 28 Javascript
jQuery联动日历的实例解析
Dec 02 Javascript
jQuery选取所有复选框被选中的值并用Ajax异步提交数据的实例
Aug 04 jQuery
vue下载excel的实现代码后台用post方法
May 10 Javascript
React中使用外部样式的3种方式(小结)
May 28 Javascript
微信小程序文章详情页跳转案例详解
Jul 09 Javascript
js+canvas实现画板功能
Sep 13 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防注
2007/01/15 PHP
PHP写MySQL数据 实现代码
2009/06/15 PHP
PHPwind整合最土系统用户同步登录实现方法
2010/12/08 PHP
php数组函数序列之array_splice() - 在数组任意位置插入元素
2011/11/07 PHP
php 操作符与控制结构
2012/03/07 PHP
php cli换行示例
2014/04/22 PHP
php采集自中央气象台范围覆盖全国的天气预报代码实例
2015/01/04 PHP
关于WordPress的SEO优化相关的一些PHP页面脚本技巧
2015/12/10 PHP
Aliyun Linux 编译安装 php7.3 tengine2.3.2 mysql8.0 redis5的过程详解
2020/10/20 PHP
PHP网站常见安全漏洞,及相应防范措施总结
2021/03/01 PHP
jquery validate.js表单验证的基本用法入门
2010/05/13 Javascript
JS正则表达式大全(整理详细且实用)
2013/11/14 Javascript
javascript动态添加、修改、删除对象的属性与方法详解
2014/01/27 Javascript
AMD异步模块定义介绍和Require.js中使用jQuery及jQuery插件的方法
2014/06/06 Javascript
jquery使用hide方法隐藏指定id的元素
2015/03/30 Javascript
javascript实现延时显示提示框特效代码
2016/04/27 Javascript
jQuery EasyUI中的日期控件DateBox修改方法
2016/11/09 Javascript
微信小程序 this和that详解及简单实例
2017/02/13 Javascript
如何正确理解javascript的模块化
2017/03/02 Javascript
解决OneThink中无法异步提交kindeditor文本框中修改后的内容方法
2017/05/05 Javascript
实例讲解javascript实现异步图片上传方法
2017/12/05 Javascript
jQuery使用each遍历循环的方法
2018/09/19 jQuery
Python操作Excel插入删除行的方法
2018/12/10 Python
对python中dict和json的区别详解
2018/12/18 Python
Python3几个常见问题的处理方法
2019/02/26 Python
日本最佳原创设计品牌:Felissimo(芬理希梦)
2019/03/19 全球购物
Goodee官方商店:迷你投影仪
2021/03/15 全球购物
金融行业职业生涯规划范文
2014/01/17 职场文书
大学应届生的自我评价
2014/03/06 职场文书
师范生自我鉴定
2014/03/20 职场文书
社区党建工作方案
2014/06/10 职场文书
体育口号大全
2014/06/18 职场文书
自愿离婚协议书2015
2015/01/26 职场文书
JS创建或填充任意长度数组的小技巧汇总
2021/10/24 Javascript
Java9新特性对HTTP2协议支持与非阻塞HTTP API
2022/03/16 Java/Android
Python闭包的定义和使用方法
2022/04/11 Python