国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

解決vue中使用swiper 同時設置loop和slidesPerView時 點擊事件失效問題

這篇具有很好參考價值的文章主要介紹了解決vue中使用swiper 同時設置loop和slidesPerView時 點擊事件失效問題。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


前言

在實際運用swiper輪播圖插件時,有時會出現(xiàn)需要同時使用 loop: trueslidesPerView: ‘a(chǎn)uto’ 兩種屬性的情況,前者代表開啟循環(huán)模式,后者代表slider容器能夠同時顯示的slides數(shù)量(carousel模式)。

此時,會出現(xiàn)點擊事件失效問題,主要原因是 loop: true 會產(chǎn)生復制的slide,而在“假的”slide上正常綁定的點擊事件無法生效。


一、swiper - loop原理

解決vue中使用swiper 同時設置loop和slidesPerView時 點擊事件失效問題參考鏈接:Swiper中文網(wǎng) - loop

二、swiper - slidesPerView屬性解釋

解決vue中使用swiper 同時設置loop和slidesPerView時 點擊事件失效問題

參考鏈接:Swiper中文網(wǎng) - carousel

三、解決方法

1. HTML部分

<div class="carousel">
	<swiper ref="noticeSwiper" :options="swiperOptions">
		<swiper-slide v-for="(item, i) in list.notice" :key="i">
			<div class="title">
				<span>{{ item.title }}</span>
			</div>
			<span>{{ item.createdTime }}</span>
		</swiper-slide>
	</swiper>
</div>

2. data部分

let vm = null
export default {
	// etc.
}
data() {
	return {
		list: {
			notice: [], // 列表
		}
		swiperOptions: {
			direction: 'vertical',
	        height: 52,
	        slidesPerView: 2,
	        loopedSlides: 4, // 在loop模式下使用slidesPerView,還需使用該參數(shù)設置所要用到的loop個數(shù)(一般設置大于可視slide個數(shù)2個即可)
	        observer: true, // 改變swiper樣式時,自動初始化swiper
	        observeParents: true, // 監(jiān)測swiper父元素,如果有變化則初始化swiper
	        autoplay: {
	        	delay: 3000,
	        	disableOnInteraction: false,
	        },
	        loop: true,
	        on: {
				tap: function () {
					// 這里有坑,需要注意的是:
					// this 指向的是 swpier 實例,而不是當前的 vue, 因此借助 vm,來調(diào)用 methods 里的方法
					let initIndex = this.clickedIndex - this.activeIndex + this.realIndex
					let index = initIndex === vm.list.notice.length ? 0 : initIndex
					vm.toNoticeDetail(index)
				},
	        },
		}
	}
}
computed: {
    noticeSwiper() {
      	return this.$refs.noticeSwiper.$swiper
    },
}

3. 方法部分

methods: {
	toNoticeDetail(index) {
		// 示例:查看詳情
		this.$router.push({
			path: '/contentDetail',
			query: {
				id: this.list.notice[index].id, // 通過index獲取數(shù)據(jù)
			},
		})
	},
}
created () {
 	vm = this
}

總結(jié)

在vue中使用swiper,同時設置loop和slidesPerView時,解決點擊事件失效問題的關(guān)鍵,在于獲取真實的 index 以及設置 loopedSlides 屬性。文章來源地址http://www.zghlxwxcb.cn/news/detail-469352.html

到了這里,關(guān)于解決vue中使用swiper 同時設置loop和slidesPerView時 點擊事件失效問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • vue2 使用swiper

    vue2 使用swiper

    在vue2項目中要用到輪播的功能,用swiper插件實現(xiàn)遇到了一些坑 總結(jié)下。 一、運行安裝命令: 如果直接運行npm i swiper 是默認安裝的最新版本是適用vue3 不適用vue2的 安裝完成后oackage.json多了 ?vue-awesome-swiper本來是5.0.1 我手動改成了4.1.1,因為當我運行時,我的項目報錯 ?所以

    2024年02月11日
    瀏覽(27)
  • vue+echarts 實現(xiàn)地圖tooltip點擊事件;toolTip數(shù)據(jù)動態(tài)渲染;同時鼠標滑過漣漪點時實現(xiàn)地圖多區(qū)域聯(lián)動

    vue+echarts 實現(xiàn)地圖tooltip點擊事件;toolTip數(shù)據(jù)動態(tài)渲染;同時鼠標滑過漣漪點時實現(xiàn)地圖多區(qū)域聯(lián)動

    最終做出來的效果是這樣的: 最近做項目時,遇到這樣的需求: ? ? ? ? 1、toolTip上的數(shù)據(jù)根據(jù)后臺動態(tài)渲染 ? ? ? ? 2、鼠標移入地圖漣漪點時顯示tootTip,點擊toolTip上的文字,攜帶動態(tài)數(shù)據(jù)id進行路由跳轉(zhuǎn) ? ? ? ? 3、鼠標移入地圖漣漪點,與漣漪點相關(guān)的省份多區(qū)域聯(lián)動

    2024年02月09日
    瀏覽(27)
  • 【vue3中使用swiper組件】

    【vue3中使用swiper組件】

    效果展示 簡介版本 安裝Swiper 項目終端中 npm i swiper 即可 這里我個人用的是 npm i swiper -S 用法 swiper/vue導出 2 個組件: Swiper 和 SwiperSlide import {Swiper, SwiperSlide} from \\\'swiper/vue\\\'; //swiper所需組件 點擊可以參考swiper中使用vue官方文檔 完整代碼展示 html靜態(tài)展示 注 :slidesPerView 為顯示

    2024年02月13日
    瀏覽(17)
  • swiper實現(xiàn)點擊切換slide/圖片效果

    swiper的切換方式一般為拖拽切換,滑動切換。 如果想要實現(xiàn)點擊每一個slide就切換成下一個slide,那么可以使用click方法實現(xiàn)。 click方法 :回調(diào)函數(shù),當你點擊或輕觸Swiper 后執(zhí)行,相當于tap。 接受swiper實例和touchend事件作為參數(shù)。 注:Swiper5版本之前會有300ms延遲。 文檔鏈接

    2024年02月16日
    瀏覽(25)
  • vue中swiper輪播圖的使用

    說明:導入相應js引css import \\\"Swiper\\\" from \\\"swiper\\\" import \\\"swiper/css/swiper.css\\\"; import \\\"swiper/js/swiper\\\"; 說明:必要的結(jié)構(gòu)使用;直接封裝成一個組件? 說明:(頁面當中務必要有結(jié)構(gòu));注釋已經(jīng)寫入代碼。 第一:可以解決獲取數(shù)據(jù)在Swiper實例之前;第二:可以解決v-for遍歷完后在Swiper之

    2024年02月14日
    瀏覽(26)
  • vue使用swiper三行輪播問題

    vue使用swiper三行輪播問題

    1、輪播圖設置屬性slidesPerColumn:3實現(xiàn)不了,解決方案如下: this.scheduleData是后臺請求的數(shù)據(jù),通過3個一組分組轉(zhuǎn)換為this.scheduleListThreede 的數(shù)據(jù)! 2、邏輯處理如下: computed: { ? ? ? scheduleListThree: function () { ? ? ? ? ? let index = 0; ? ? ? ? ? let count = 3; ? ? ? ? ? let arrThree

    2024年02月09日
    瀏覽(20)
  • Swiper在Vue2中的使用

    以swiper3為例 1. 下載swiper3 ?2.?在main.js中引入Vue-Awesome-Swiper ?3.? 在swiper.vue中? 2.6.7版本 3.1.3版本 1. 下載swiper3 ?2.? 在swiper.vue中?引入樣式和組件 數(shù)據(jù)是寫死的時候,能夠loop:true是有效的; 數(shù)據(jù)是動態(tài)獲取的loop:true就會失效。 解決辦法: 加上v-if=\\\"list.length\\\"有效解決

    2024年02月11日
    瀏覽(23)
  • 使用Vscode進行Vue的debug調(diào)試功能,研究了一天終于可以了,同時解決Unbound breakpoint灰點問題

    使用Vscode進行Vue的debug調(diào)試功能,研究了一天終于可以了,同時解決Unbound breakpoint灰點問題

    實現(xiàn)的結(jié)果:在vscode中可以直接debug上一步下一步等,同時在瀏覽器里面也可以執(zhí)行這樣的操作,這樣的debug功能,誰不想要呢?誰還沒有呢?是不是你,哈哈哈哈 在瀏覽器里面debug實現(xiàn): 源代碼中增加 debugger 或者? console.log 在 Chrome 瀏覽器 Sources 中加斷點 vscode 中直接調(diào)試,

    2024年02月07日
    瀏覽(23)
  • vue3中使用swiper(9)完整版

    vue3中使用swiper(9)完整版

    1)安裝 swiper 插件; 方法一:npm install swiper 方法二:yarn add swiper 注意:如果npm 無法安裝swiper時,使用yarn安裝; 2)參數(shù)介紹 modules: loop: 是否循環(huán)播放 slides-per-view:控制一次顯示幾張輪播圖 space-between: 每張輪播圖之間的距離,該屬性不可以和margin 屬性同時使用; aut

    2024年02月09日
    瀏覽(20)
  • vue2項目之swiper.js 的使用

    swiper.js 的使用 官網(wǎng) API(部署在 swiper 實例中):https://www.swiper.com.cn/api/index.html 官網(wǎng)輪播圖(查看源代碼):https://www.swiper.com.cn/demo/index.html 接下來介紹怎么在 vue2 里使用 swiper.js (vue2 使用 swiper5版本) 1、安裝、引入css 2、在組件中使用:引入 js 引入 html 結(jié)構(gòu) html 結(jié)構(gòu):

    2024年02月05日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包