组件轮播联动我使用的是 el-carousel 组件,具体代码如下:

  1. <el-carousel trigger="click" :interval="3000" arrow="never" @change="test">
  2. <el-carousel-item v-for="item in 4" :key="item">
  3. <div class="row-item row-city" style="height: 550px" v-if="item === 1">
  4. <div class="item">
  5. <div class="item-hd">
  6. <h3>
  7. <span>城市分布</span>
  8. </h3>
  9. </div>
  10. <div class="item-bd">
  11. <p>{{sxPercentage}}</p>
  12. <p>{{maxDistanceName}}</p>
  13. <div class="paihang" id="cityDisChartsId" style="height:400px; width:500px"></div>
  14. </div>
  15. </div>
  16. </div>
  17. <div class="row-item row-city" style="height: 550px" v-if="item === 2">
  18. <div class="item">
  19. <div class="item-hd">
  20. <h3>
  21. <span>成功率分布</span>
  22. </h3>
  23. </div>
  24. <div class="item-bd">
  25. <p>{{sxSucRateMaxNum}}</p>
  26. <p>{{sxSucRateMaxCity}}成功率最高</p>
  27. <div class="paihang" id="citySucChartsId" style="height:400px; width:500px"></div>
  28. </div>
  29. </div>
  30. </div>
  31. <div class="row-item row-city" style="height: 550px" v-if="item === 3">
  32. <div class="item">
  33. <div class="item-hd">
  34. <h3>
  35. <span>耗时分布</span>
  36. </h3>
  37. </div>
  38. <div class="item-bd">
  39. <p>{{sxAvgDurMinNum}}</p>
  40. <p>{{sxAvgDurMinCity}}平均验证耗时最短</p>
  41. <div class="paihang" id="cityDurChartsId" style="height:400px; width:500px"></div>
  42. </div>
  43. </div>
  44. </div>
  45. </el-carousel-item>
    </el-carousel>

下面就可以通过轮播的change事件传递参数到父组件,判断轮播的参数变化而进行相应的过渡

  1. export default {
  2. data() {
  3. return {
  4. pageIndex: 1
  5. }
  6. },
  7. methods: {
  8. test (e) {
  9. this.pageIndex = e;
  10. let setData = e;
  11. this.$emit('transferData', setData);
  12. }
  13. },
  14. watch: {
  15. //解决离开当前标签页再次进入时轮播联动无法同步问题
  16. 'pageIndex': (val) => {
  17. if (val === 0) {
  18. let $chinaMap = jQuery("#chinaMapId");
  19. if (!$chinaMap.attr("_echarts_instance_")) {
  20. this.myChart = echarts.init($chinaMap[0]);
  21. window.addEventListener("resize", () => {
  22. this.myChart.resize();
  23. });
  24. let optionChina = store.state.dataTv.chinaMapOption;
  25. this.myChart.setOption(optionChina);
  26. }
  27. } else {
  28. let $sxMap = jQuery("#sxMapId");
  29. if (!$sxMap.attr("_echarts_instance_")) {
  30. this.mySxMapChart = echarts.init($sxMap[0]);
  31. window.addEventListener("resize", () => {
  32. this.mySxMapChart.resize();
  33. });
  34. let optionSx = store.state.dataTv.sxMapOption;
  35. this.mySxMapChart.setOption(optionSx);
  36. }
  37. }
  38. }
  39. }
  40. }

父组件接收子组件传递的轮播参数,进行相应联动

  1. <div>
  2.  <div class="col-lg-6">
  3. //联动组件淡入淡出
  4. <transition name="slide-fade">
  5. <tmpEcharts v-if="mapShow"></tmpEcharts>
  6. </transition>
  7. <transition name="slide-fade">
  8. <szEchart v-if="!mapShow"></szEchart>
  9. </transition>
  10. </div>
  11. <div class="col-lg-3 right">
  12. <cityDistribution @transferData="getDate"></cityDistribution>
  13. </div>
  14. </div>
  1. export default {
  2. data() {
  3. return{
  4. mapShow: true
  5. }
  6. },
  7. methods: {
  8. getDate(setData) {
  9. // 0 -> 中国地图,1,2,3 -> 山西省地图
  10. if (setData === 0) {
  11. this.mapShow = true;
  12. } else {
  13. this.mapShow = false;
  14. }
  15. }
  16. },
  17. }
  1. <style>
  2. /* 可以设置不同的进入和离开动画 */
  3. /* 设置持续时间和动画函数 */
  4. .slide-fade-enter-active {
  5. transition: all .3s ease;
  6. }
  7. .slide-fade-leave-active {
  8. transition: all .8s cubic-bezier(1.0, 0.5, 0.8, 1.0);
  9. }
  10. .slide-fade-enter, .slide-fade-leave-to
  11. /* .slide-fade-leave-active for below version 2.1.8 */ {
  12. transform: translateX(10px);
  13. opacity:;
  14. }
  15. </style>

vue 组件轮播联动的更多相关文章

  1. vue实现轮播效果

    vue实现轮播效果 效果如下:(不好意思,图有点大:) 功能:点击左侧图片,右侧出现相应的图片:同时左侧边框变颜色. 代码如下:(也可以直接下载文件) <!DOCTYPE html> &l ...

  2. vue自定义轮播图组件 swiper

    1.banner 组件 components/Banner.vue <!-- 轮播图 组件 --> <template> <div class="swiper- ...

  3. vue 一个轮播的组件

    当我们进行开发的时候,并不是说所有信息都会在写一个组件中 作为项目的老大,我们要去思考每个文件下面需要放什么业务,分的越细.越合理为好 我们在componts文件下新建一个Banner.vue 组件 ...

  4. vue 3d轮播组件 vue-carousel-3d

    开发可视化项目时,需要3d轮播图,找来找去发现这个组件,引用简单,最后实现效果还不错.发现关于这个组件,能搜到的教程不多,就分享一下我的经验. 插件github地址:https://wlada.git ...

  5. Vue编写轮播组件引入better-scroll插件无法正常循环轮播

    临近过年还是发个博客表示一下自己的存在感,这段时间公司突然说想搞小程序,想到这无比巨大的坑就只能掩面而泣,于是乎这段时间在学习小程序开发.关于标题所说的是有老铁问的,我也跟着网上的代码码了一遍然后发现 ...

  6. 跳坑 小程序swiper组件 轮播图片 右边空白问题

    swiper 组件 设置轮播图片时,右侧会出现空白的情况:是因为 swiper组件有默认的 高度和宽度,所以我们在设置图片高度和宽度的同时, 也要为 设置高度和宽度,和高度和宽度样式一样的就可以.

  7. 鸿蒙开源第三方件组件——轮播组件Banner

    目录: 1.功能展示 2.Sample解析 3.Library解析 4.<鸿蒙开源第三方组件>系列文章合集 前言 基于安卓平台的轮播组件Banner(https://github.com/ ...

  8. ⒃bootstrap组件 轮播图 基础案例

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. vue+mui轮播图

    mui的轮播图,如果图片是请求来的,直接在html中循环是不会动的. 需要请求完图片之后,在setTimeout方法里,使用slider()方法,这样才会动 而且mui的轮播图,有点坑的,需要重复最后 ...

随机推荐

  1. php-5.2.14 编译参数,成功的

    ./configure --prefix=/usr/local/php --with-config-file-path=/usr/bin --with-mysql=/usr/local/mysql - ...

  2. Struts1.x 基本原理及注册模块的实现

    1.编写JavaBean:User,必须继承于ActionForm类 package myuser; import org.apache.struts.action.ActionForm; publi ...

  3. 老笔记本装xubuntu+win7

    https://www.freezhongzi.info/?p=167 1 install xubuntu 分区如下 sda1 20g ext4 / sda2 80g ext4 /data sda3 ...

  4. iptable防范ddos攻击

    Basic DoS Protection https://github.com/MPOS/php-mpos/wiki/Basic-DoS-Protection # Rule 1: Limit New ...

  5. 笨办法学Python(三十二)

    习题 32: 循环和列表 现在你应该有能力写更有趣的程序出来了.如果你能一直跟得上,你应该已经看出将“if 语句”和“布尔表达式”结合起来可以让程序作出一些智能化的事情. 然而,我们的程序还需要能很快 ...

  6. java文件

    File类 为了很方便的代表文件的概念,以及存储一些对于文件的基本操作,在java.io包中设计了一个专门的类——File类. 在File类中包含了大部分和文件操作的功能方法,该类的对象可以代表一个具 ...

  7. nodejs的一些概念

    上一节我们几乎是扫通http请求和响应的整个闭环,包括请求时候的头信息和服务器返回时候的头信息和状态码等等,这些在node的http中都能获取到,并且有相应都接口组装这些信息和返回它们,同时这些htt ...

  8. 2017.11.10 web中URL和URI的区别

    URI:Uniform Resource Identifier,统一资源标识符: •URL:Uniform Resource Locator,统一资源定位符: •URN:Uniform Resourc ...

  9. python-一切事物都是对象

    python:一切事物都是对象 开始接触python,在里面有一句话“一切事物都是对象”,那么如何来理解这句话呢,下面举简单的例子: a=1 b='hello't=(11,22,33) list1=[ ...

  10. 第33章 TIM—电容按键检测—零死角玩转STM32-F429系列

    第33章     TIM—电容按键检测 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fir ...