swiper:https://www.swiper.com.cn/usage/index.html

安装swiper

cnpm i -S swiper

在功能组件中定义Swiper组件并设置好插槽

<template>
<div class="swiper-container">
    <div class="swiper-wrapper">
      <!-- 插槽 -->
  <slot></slot>
   </div>
   <!-- 导航按钮 这个自己想要就写不想要可以不写-->
    <div class="swiper-button-prev" @click="prev"></div>
    <div class="swiper-button-next" @click="next"></div>
  </div>
</template>
<script>
// 使用此组件中,添加内容一定要有 swiper-slide
import Swiper from 'swiper'
import 'swiper/swiper-bundel.min.css'
export default {
  data() {
    return {
      mySwiper: null
    }
  },
  mounted() {
    //   dom操作
    // $nextTick 当虚拟dom渲染完毕,生成了真实的dom方法
    this.$nextTick(() => {
      // 在数据没有请求得到时。实例化了,此时米有得到外层div的绝对宽,滚动没有办法
      this.mySwiper = new Swiper(
        '.swiper-container',
        //   设置slider容器能够同时显示的slides数量(carousel模式)。可以设置为数字(可为小数,小数不可loop),或者 'auto'则自动根据slides的宽度来设        定数量。
        // loop模式下如果设置为'auto'还需要设置另外一个参数loopedSlides。
        // slidesPerView: 'auto'目前还不支持多行模式(当slidesPerColumn > 1)
        // loop: true,
        { slidesPerView: 4 }
      )
    })
  },
  methods: {
    prev() {
      this.mySwiper.slidePrev()
    },
    next() {
      this.mySwiper.slideNext()
    }
  },
  beforeDestroy() {
    //   关掉动画
    this.mySwiper = null
  }
}
</script>
<style>
.swiper-container {
  width: 100%;
}
</style>
 

在显示组件是调用swiper组件完成横向滚动

<template>
<div class="detail">
<div class="img">
<img v-lazy="film.poster" />
</div>
<SwiperSide :key="'actors_' + film.actors.length">
<div v-for="item in film.actors" class="swiper-slide">
<div>
<img :src="item.avatarAddredd" />
<h6>名字</h6>
</div>
</div>
</SwiperSide>
</div>
</template> <script>
// 这就是上面的Swiper组件
import SwiperSide from '../../components/Swiper'
import { detailData } from '../../api/api'
export default {
components: { SwiperSide },
data() {
return {
id: 0,
film: { actors: [] }
}
},
created() {
// 发布一个让底部菜单隐藏的指令 这个是我写的底部菜单你点击进来肯定要隐藏掉底部菜单行 所以这个大家不用管
this.$bus.$emit('footernav', false)
},
async mounted() {
this.id = this.$router.params.id
   //detailData是封装的请求 下面给你看下怎么封装的 
const ret = await detailData(this.id)
this.flim = ret.data.data.film
},
beforeDestory() {
// 发布一个让底部菜单显示的指令
this.$bus.$emit('footernav', true)
}
}
</script>

封装detailData请求

// 引入封装头信息和请求域名的axios对象 我这里就不写了你可以网上找下自己封装一下
import http from './http'
// 这个就是你请求的接口地址
import {flimListUrl} form './config/uri' export const detailData = (page = 1) => {
return http.get(flimListUrl + page)
}

使用swiper完成轮播图的更多相关文章

  1. 微信小程序之 Swiper(轮播图)

    1.逻辑层 mine.js // pages/mine/mine.js Page({ /** * 页面的初始数据 */ data: { /*轮播图 配置*/ imgUrls: [ 'http://im ...

  2. Swiper实现轮播图效果

    为了实现轮播图(carousel)效果或左右滑动显示不同的内容,我们采用Swiper来实现. 需要引入swiper.min.css和swiper.min.js,文件可从https://github.c ...

  3. 微信小程序-swiper(轮播图)抖动问题

    ps:问题 组件swiper(轮播图)真机上不自动滚动 一直卡在那里抖动 以前遇到这个问题,官方一直没有正面回复.就搁置了,不过有大半年没写小程序了也没去关注,今天就去看了下官方文档,发觉更新了点好东 ...

  4. (网页)swiper.js轮播图插件

    Swiper4.x使用方法 1.首先加载插件,需要用到的文件有swiper.min.js和swiper.min.css文件.可下载Swiper文件或使用CDN. <!DOCTYPE html&g ...

  5. 手机端用swiper组件 轮播图设置后右侧出现空白 及 部分手机浏览器打开网页空白

    我的方法是设置内容css overflow:hidden;width:100%; ok. 之前搜到一个方法也可以,就是设置css height: auto;overflow-y: scroll; 但是 ...

  6. angularjs中使用轮播图指令swiper

    我们在angualrjs移动开发中遇到轮播图的功能 安装 swiper  npm install --save swiper   或者 bower install --save swiper 引入文件 ...

  7. swiper轮播图(逆向自动切换类似于无限循环)

    swiper插件轮播图,默认的轮播循序是会从右向左,第一张,第二张,第三张,然后肉眼可见是的从第三张从左到右倒回第一张,这样就会有些视觉体验不高, ,不过还是能够用swiper本身的特性更改成无限循环 ...

  8. React Native 之轮播图swiper组件

    注释:swiper组件是第三方组件 所以在使用之前应该先在命令行安装,然后将第三方的模块引入(第三方模块地址:https://github.com/leecade/react-native-swipe ...

  9. 使用swiper来实现轮播图

    使用swiper来实现轮播图 swiper实现轮播图几乎是没有一点点技术含量,但是用起来却很方便,包括对移动端的支持也很好. 由于简单这里当然就不会去详细介绍了,推荐两个网址: 1.http://ww ...

  10. vue2 使用 swiper 轮播图效果

    第一步.先安装swiper插件 npm install swiper@3.4.1 --save-dev 第二步.组件内引入swiper插件 import Swiper from 'swiper' im ...

随机推荐

  1. .NET开源免费的跨平台框架 - MAUI(附学习资料)

    前言 前几天分享了一个.NET MAUI开源免费的UI工具包 - Uranium,然后技术群有不少同学问.NET MAUI是不是免费的?能做什么?今天特意写这篇文章来介绍一下.NET开源.免费(基于M ...

  2. 力扣182(MySQL)-查找重复的电子邮箱(简单)

    题目: 编写一个 SQL 查询,查找 Person 表中所有重复的电子邮箱. 示例:  解题思路: 方法一: 使用group by 按Email来分组,然后使用having选择count(id)> ...

  3. 力扣385(java)-迷你语法分析器(中等)

    题目: 给定一个字符串 s 表示一个整数嵌套列表,实现一个解析它的语法分析器并返回解析的结果 NestedInteger . 列表中的每个元素只可能是整数或整数嵌套列表 示例 1: 输入:s = &q ...

  4. 力扣476(java)-数字的补数(简单)

    题目: 对整数的二进制表示取反(0 变 1 ,1 变 0)后,再转换为十进制表示,可以得到这个整数的补数. 例如,整数 5 的二进制表示是 "101" ,取反后得到 "0 ...

  5. 数据库误操作后悔药来了:AnalyticDB PostgreSQL教你实现分布式一致性备份恢复

    ​简介: 本文将介绍AnalyticDB PostgreSQL版备份恢复的原理与使用方法. 一.背景 AnalyticDB PostgreSQL版(简称ADB PG)是阿里云数据库团队基于Postgr ...

  6. [FE] Quasar BEX 热加载区别: Chrome vs Firefox

    Chrome 浏览器加载扩展程序时指定的是 src-bex 目录.Firefox 指定的是 manifest.json. Quasar 提供的热加载特性是 修改 src/ 目录里的文件,src-bex ...

  7. win10 uwp 简单制作一个 Path 路径绘制的图标按钮

    本文告诉大家在 UWP 或 WinUI 3 里面如何简单制作一个由 Path 几何路径图形绘制的图标按钮 先在资源里面定义按钮的样式,重写 Template 属性,通过在 Template 里面放入 ...

  8. dotnet 使用 CsWin32 库简化 Win32 函数调用逻辑

    很多开发者,包括开发老司机们,在碰到需要调用 Win32 函数时,都有一个困扰,那就是我应该如何去调用.有两个主要的选项,第一就是自己写 PInvoke 代码,第二就是使用其他大佬给许多 Win32 ...

  9. java 高并发下超购问题解决

    //@desc:java 高并发下锁机制初探 //@desc:码字不宜,转载请注明出处 //@author:张慧源  <turing_zhy@163.com> //@date:2021/1 ...

  10. Oracle、达梦:_ 英文下划线 让LIKE查询失效的解决方案:ESCAPE关键字

    oracle/dm:_ 英文下划线让like查询失效的解决方案:ESCAPE关键字 -- 可以查询出带(\)的值 SELECT "f1","f2" FROM & ...