最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決使用vue-awesome-swiper組件手動滾動點擊失效問題

 更新時間:2023年06月30日 09:48:17   作者:Skywang  
這篇文章主要介紹了使用vue-awesome-swiper組件手動滾動點擊失效問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

問題

最近做了一個項目用了vue-awesome-swiper這個組件,遇到了一個問題。

就是vue引入swiper后,使用loop循環(huán),然后給每個swiper-slide滑塊綁定事件@click='fn()' ,由于是循環(huán)模式,swiper會復(fù)制兩份swiper-slide滑塊做循環(huán)的效果,但是這兩份復(fù)制的滑塊點擊效果無效,其它的正常。

廢話不多說 上代碼

問題代碼

這是把點擊事件綁定在dom上

在 loop 開啟的時候,dom 綁定事件是有問題的。因為在loop模式下slides前后會復(fù)制若干個slide,從而形成一個環(huán)路,但是卻不會復(fù)制綁定在dom上的click事件。

因此只能使用 swiper 提供的 api 方法進行解決

解決方案

html

js

<script>
    import {
        swiper,
        swiperSlide
    } from "vue-awesome-swiper";
    var vm = null;
    export default {
        data() {
            return {
                swiperOption: {
                    notNextTick: true,
                    //循環(huán)
                    loop: true,
                    //設(shè)定初始化時slide的索引
                    initialSlide: 0,
                    //自動播放
                    autoplay: true,
                    autoplay: {
                        delay: 3000,
                        stopOnLastSlide: false,
                        disableOnInteraction: false,
                    },
                    // 設(shè)置輪播
                    effect: '',
                    //滑動速度
                    speed: 800,
                    //滑動方向
                    direction: 'horizontal',
                    //小手掌抓取滑動
                    // grabCursor : true,
                    //滑動之后回調(diào)函數(shù)
                    on: {
                        slideChangeTransitionEnd: function() {
                            console.log(this.activeIndex);
                            //切換結(jié)束時,告訴我現(xiàn)在是第幾個slide
                            //                             const realIndex = this.activeIndex;
                            //                             vm.carousel(realIndex);
                        },
                        click: function() {
                          // 這里有坑,需要注意的是:this 指向的是 swpier 實例,而不是當(dāng)前的 vue, 因此借助 vm,來調(diào)用 methods 里的方法 
                          // console.log(this); // -> Swiper
                          // 當(dāng)前活動塊的索引,與activeIndex不同的是,在loop模式下不會將 復(fù)制的塊 的數(shù)量計算在內(nèi)。
                            console.log('ss'+this.realIndex)
                            const realIndex = this.realIndex;
                            vm.carousel(vm.carousels[realIndex]);
                        }
                    },
                    //左右點擊
                    //                  navigation: {
                    //                      nextEl: '.swiper-button-next',
                    //                      prevEl: '.swiper-button-prev',
                    //                  },
                    //分頁器設(shè)置         
                    pagination: {
                        el: '.swiper-pagination',
                        clickable: true
                    }
                },
                swiperSlides: [1, 2, 3, 4],
                activeIndex: 0,
                carousels:[]
            }
        },
        components: {
            swiper,
            swiperSlide
        },
        computed: {
            swiper() {
                return this.$refs.mySwiper.swiper;
            }
        },
        created() {
            vm = this;
        },
        methods: {
            carousel(type) {
                if (type.url !== null) {
                    this.$router.push(type.redirect_to);
                } 
            }
        }
    }

如上圖js里定義一個全局的變量vm,為了在swiper的AIP中調(diào)用vue的方法和綁定的數(shù)據(jù), 這時候就可以解決點擊事件失效的問題了!

以上就是解決使用vue-awesome-swiper組件手動滾動點擊失效問題的詳細內(nèi)容,更多關(guān)于vue-awesome-swiper滾動點擊的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • vue2.0結(jié)合Element實現(xiàn)select動態(tài)控制input禁用實例

    vue2.0結(jié)合Element實現(xiàn)select動態(tài)控制input禁用實例

    本篇文章主要介紹了vue2.0結(jié)合Element實現(xiàn)select動態(tài)控制input禁用實例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • vue3實現(xiàn)局部頁面刷新效果的示例詳解

    vue3實現(xiàn)局部頁面刷新效果的示例詳解

    這篇文章主要為大家詳細介紹了vue3如何采用 App.vue定義全局變量與方法并實現(xiàn)局部頁面刷新效果,文中的示例代碼講解詳細,需要的可以參考一下
    2024-01-01
  • vue-devtools安裝使用全過程

    vue-devtools安裝使用全過程

    這篇文章主要介紹了vue-devtools安裝使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 用vue寫一個仿簡書的輪播圖的示例代碼

    用vue寫一個仿簡書的輪播圖的示例代碼

    本篇文章主要介紹了用vue寫一個仿簡書的輪播圖的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • uniapp中easycom用法實例詳解

    uniapp中easycom用法實例詳解

    easycom是Uniapp框架中非常方便的組件自動注冊機制,可以大大簡化組件的使用和管理,這篇文章主要介紹了uniapp中easycom用法詳解,需要的朋友可以參考下
    2023-03-03
  • vue調(diào)取電腦攝像頭實現(xiàn)拍照功能

    vue調(diào)取電腦攝像頭實現(xiàn)拍照功能

    這篇文章主要為大家詳細介紹了vue調(diào)取電腦攝像頭實現(xiàn)拍照功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Vuex模塊化編碼使用詳解

    Vuex模塊化編碼使用詳解

    本文介紹了 Vuex 的模塊化和命名空間功能,通過對 store.js 進行模塊劃分,提高代碼維護性和數(shù)據(jù)分類的明確性,并講解了在組件中讀取和操作模塊化 state、getters、actions、mutations 的具體方法
    2025-10-10
  • Pycharm中開發(fā)vue?element項目時eslint的安裝和使用步驟

    Pycharm中開發(fā)vue?element項目時eslint的安裝和使用步驟

    這篇文章主要介紹了Pycharm中開發(fā)vue?element項目時eslint的安裝和使用,本文通過示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • vue?頁面刷新、重置、更新頁面所有數(shù)據(jù)的示例代碼

    vue?頁面刷新、重置、更新頁面所有數(shù)據(jù)的示例代碼

    Vue.js提供了多種方式來實現(xiàn)頁面刷新、重置和更新頁面所有數(shù)據(jù)的功能,下面通過示例代碼演示vue?頁面刷新、重置、更新頁面所有數(shù)據(jù),感興趣的朋友跟隨小編一起看看吧
    2024-01-01
  • Vue+Element-ui日歷排班自定義實例代碼

    Vue+Element-ui日歷排班自定義實例代碼

    這篇文章主要給大家介紹了關(guān)于Vue+Element-ui日歷排班自定義的相關(guān)資料,有現(xiàn)成的日歷插件但是不符合需求,所以項目中使用vue+element的表格組件自己實現(xiàn)一個日歷組件,需要的朋友可以參考下
    2023-09-09

最新評論

米脂县| 陆良县| 宁阳县| 鹿泉市| 淮北市| 岗巴县| 新平| 西乌珠穆沁旗| 连江县| 安溪县| 巴东县| 吴川市| 咸宁市| 汝城县| 英德市| 清远市| 江门市| 崇阳县| 阳谷县| 浦东新区| 信阳市| 南华县| 三亚市| 宁阳县| 盐城市| 长乐市| 龙游县| 安乡县| 嘉兴市| 迁西县| 剑川县| 广昌县| 麻城市| 壶关县| 皮山县| 大化| 锦州市| 深水埗区| 阜平县| 富平县| 广东省|