1. 程式人生 > >Vue專案中vue-awesome-swiper輪播外掛使用例項:

Vue專案中vue-awesome-swiper輪播外掛使用例項:

源自開源專案:http://github.crmeb.net/u/blue

1,引入外掛

import { swiper, swiperSlide } from "vue-awesome-swiper";

2,初始化樣式,繫結標籤

<swiper class="swiper-wrapper" :options="swiperVip" ref="mySwiper">
          <swiperSlide
            class="swiper-slide memberBg"
            :class="item.class"
            v-for="(item, index) in vipList"
            :key="index"
            :style="{ backgroundImage: 'url(' + item.image + ')' }"
          >
            <!--            <img :src="item.icon" />-->
            <div class="name">{{ item.name }}</div>
            <div class="discount">
              可享受商品折扣: {{ item.discount / 10 }}折<span
                class="iconfont icon-zhekou"
              ></span>
            </div>
            <div class="nav acea-row" v-if="item.grade == grade">
              <div
                class="item"
                v-for="(val, indexn) in vipComplete"
                :key="indexn"
              >
                <div class="num">{{ val.new_number }}</div>
                <div>{{ val.real_name }}</div>
              </div>
            </div>
            <div class="lock" v-if="item.grade > grade">
              <span class="iconfont icon-quanxianguanlisuozi"></span
              >該會員等級尚未解鎖
            </div>
            <div class="lock" v-if="item.grade < grade">
              <span class="iconfont icon-xuanzhong1"></span>已解鎖更高等級
            </div>
          </swiperSlide>
        </swiper>

3,資料操作

export default {
  name: "Poster",
  components: {
    swiper,
    swiperSlide
  },
  props: {},
  data: function() {
    return {
      vipList: [], //會員等級列表
      vipRequire: [], //等級要求
      grade: 0, //當前會員等級
      swiperVip: {
        speed: 1000,
        effect: "coverflow",
        slidesPerView: "auto",
        centeredSlides: true,
        coverflowEffect: {
          rotate: 0, // 旋轉的角度
          stretch: -20, // 拉伸   圖片間左右的間距和密集度
          depth: 100, // 深度   切換圖片間上下的間距和密集度
          modifier: 2, // 修正值 該值越大前面的效果越明顯
          slideShadows: false // 頁面陰影效果
        },
        observer: true,
        observeParents: true
      },
      activeIndex: 0//當前滑塊索引
    };
  },
  watch: {
    vipList: function() { //通過資料判斷並切換至對應滑塊
      let that = this;
      if (that.vipList.length > 0) {
        that.vipList.forEach(function(item, index) {
          if (item.is_clear === true) {
            that.swiper.slideTo(index);
            that.activeIndex = index;
            that.grade = item.grade;
          }
        });
      }
    }
  },
  computed: {
    swiper() {//例項swiper物件
      return this.$refs.mySwiper.swiper;
    }
  },
  mounted: function() {
    let that = this;
    that.getInfo();
    that.swiper.on("slideChange", function() { //繫結滑塊切換事件,非同步獲取資料
      that.activeIndex = that.swiper.activeIndex;
      that.getTask();
    });
  },
  methods: {
    getInfo: function() {
      let that = this;
      getVipInfo().then(
        res => {
          that.vipList = res.data.list;
        },
        err => {
          that.$dialog.message(err.msg);
        }
      );
    },
    getTask: function() {
      let that = this;
      getVipTask(that.vipList[that.activeIndex].id).then(
        res => {
          that.vipRequire = res.data.list;
        },
        err => {
          that.$dialog.message(err.msg);
        }
      );
    }
  }
};

效果:

相關推薦

Vue專案vue-awesome-swiper外掛使用例項

源自開源專案:http://github.crmeb.net/u/blue 1,引入外掛 import { swiper, s

vuev-for迴圈載入問題導致vue-awesome-swiper失效問題

<swiper v-if="bannerList.length>0" :options="swiperOption" ref="mySwiper"> <!-- slides --> <swiper-slide v-fo

vue插入swiper外掛

建立vue專案流程這裡就不用廢話了吧?還不知道就在我前幾篇中有寫。今天我們的大屏專案中有了一個新的需求,資料模組的切換,毫無疑問,swiper外掛不二之選。原生的寫法官網直接給了,那麼這裡介紹一下在vue中使用swiper外掛的方法。<link rel="stylesh

vue引用swiper外掛

有時候我們需要在vue中使用輪播元件,如果是在vue元件中引入第三方元件的話,最好通過npm安裝,從而進行統一安裝包管理。 申明:本文所使用的是vue.2x版本。 通過npm安裝外掛: npm install swiper --save-dev 在需要使用swiper的元件裡引入swiper

vue-awesome-swiper圖實踐

        最近有個專案需求是做一個輪播圖,圖片不是鋪滿全屏,兩邊空白展示一點上下張圖片的內容,具體如下圖所示:         選擇vue-awesome-swiper外掛的原因是,他就是根據swiper外掛改寫而來的,功能齊全,模式多種。而我又剛好在swiper

vue.js+vue-awesome-swiper

一般做移動端輪播圖的時候,最常用的就是Swiper外掛了,而vue.js也有一個輪播元件vue-awesome-swiper,用法跟swiper相似。 1.安裝vie-awesome-swiper

vue專案中用better-scroll製作

主要html架構 <!- slider元件 -> <div class="slider-wrapper" ref="sliderWrapper"> <div class="slider-ul" ref="sliderUl"> <

在同一個頁面多次使用swiper 外掛,要避免相互影響

在專案中使用輪播是很常見的,swiper 就是其中之一,pc 端,移動端都可以使用,效果還是不錯的;曾經在寫一個頁面的時候,其中有兩個輪播圖,於是都用swiper 來寫了,寫完之後發現顯示的效果不是預期的效果,有很大的問題;後來檢查發現兩個輪播圖相互影響了,樣式啥的衝突了,因

vue專案vue-scroller實現上拉載入和下拉重新整理

vue目前是眾所周知的流行框架大家都知道的,vue全家桶的成員是:vue-cli,vuex,vue-router,vue-axios(vue2.0)。然後它的第三方外掛也有很多,比如:vue-scroller,vue-lazyload,vue-awesome-swiper等等的。之前我已經給大家介紹過vue-

使用swiper 外掛ajax 請求載入圖片時,無法滑動

因為banner圖是動態建立的,在外掛開始初始化時,文件流中沒用圖片,故沒有建立相應寬度,通過調整js載入順序,問題還是沒有解決。最後找到swiper外掛 api 有屬性是可以根據內容變動,自動初始化外掛的,新增observer:true後問題解決! var mySw

swipervue專案loop迴圈失效

版權宣告:本文為博主原創文章,轉載請註明來源。 https://blog.csdn.net/dclnet/article/details/80951884 長話短說,在vue(2.5.x)中使用swiper(4.3.3),輪播加了autoplay和loop、observer

vue引用swiper插件

fault 打包 efault uil 安裝 prop pos web 需要 有時候我們需要在vue中使用輪播組件,如果是在vue組件中引入第三方組件的話,最好通過npm安裝,從而進行統一安裝包管理。 申明:本文所使用的是vue.2x版本。 通過npm安裝插件:

Vue專案使用better-scroll實現一個

前言 better-scroll是一個非常非常強大的第三方庫 在移動端利用這個庫 不僅可以實現一個非常類似原生ScrollView的效果 也可以實現一個輪播圖的效果 這裡就先記錄一下自己實現這個效果的一些過程吧 思路 1.首先要確定自己的HTML結構 基本結構就是一個wrapper包含一個content

解決swiper4在vue專案loop迴圈失效

在vue(2.5.x)中使用swiper(4.3.3),輪播加了autoplay和loop、observer、observeParents等引數還是很詭異的無法迴圈輪播; 那麼可以這樣寫程式碼試試: <template> <div class="swiper-conta

Vue元件(一)——Swiper元件

Vue輪播元件,詳情參見: awesome-swiper vue專案中安裝awsome-swiper元件:      npm  install   [email protected]  --save&

vue練習demo 實現簡單的圖,方法簡單快捷,使用到transition-group標籤增加使用者體驗 以及vue的class與style繫結

結構程式碼:      <div class="slider"> <div class="slidershow"> <!-- <transition-group tag="ul">

vue一個元件引入多個swiper可能引發的分頁器數量異常問題

index.vue 引用slider.vue(初始化swiper例項的元件)兩次的時候: 1. swiper版本 "swiper": "^3.4.2", 2. 在一個頁面中使用兩個swiper例項時,一個輪播,一個區域性滾動,有時會出現輪播圖分頁器數量異

如何在Vue專案優雅的使用swiper外掛

開始之前,請先確保有一個基於webpack模板的專案(vue-cli腳手架一鍵安裝~)1.npm命令安裝swipernpm install swiper --save-dev2.在需要用到swiper外

vue 元件封裝 swiper

第一步安裝:npm install vue-awesome-swiper --save 第二部在main.js裡引入: import Vue from 'vue' import VueAwesomeSwiper from 'vue-awesome-swiper' impo

Vue開發音樂移動端實戰(1) —header頭部元件開發和swiper圖開發 以及利用JSONP獲取QQ音樂圖資料

首先做專案配置 安裝babel-polyfill這是es6語法轉化(在路由中引用的)babel-fastclick 去除移動端click點選的300毫秒延遲(在路由中index.js下寫入)import fastclick from 'fastclick'//引用 fastc