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

vue2項(xiàng)目之swiper.js 的使用

這篇具有很好參考價(jià)值的文章主要介紹了vue2項(xiàng)目之swiper.js 的使用。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

swiper.js 的使用

官網(wǎng) API(部署在 swiper 實(shí)例中):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

npm i swiper@5
// main.js

// 引入 swiper.css
import "swiper/css/swiper.css";

2、在組件中使用:引入 js 引入 html 結(jié)構(gòu)

import Swiper from 'swiper'

html 結(jié)構(gòu):

1、開始先放個(gè)圖片占個(gè)位置確定布局,再把圖片換成下面的結(jié)構(gòu)

2、注意最外層的 class="swiper-container" 必須!且后面的 swiper 實(shí)例也要改!

<div class="swiper-container">
    <div class="swiper-wrapper">
        <div class="swiper-slide" v-for="(img,index) in bannerList" :key="index">
            <img :src="img.imgUrl" />
        </div>
    </div>

    <div class="swiper-button-next"></div>
    <div class="swiper-button-prev"></div>
    <div class="swiper-pagination"></div>
</div>

3、最后關(guān)鍵是創(chuàng)建 swiper 實(shí)例! 有兩種方式

方式一:

如果圖片已經(jīng)固定(或圖片url數(shù)組已經(jīng)確定 )那么直接在 mounted 函數(shù)中創(chuàng)建

mounted() {
    // 下面是普通swiper模板
    new Swiper(".swiper-container", {
        loop: true,
        mousewheel: true,
        keyboard: true,

        navigation: {
            nextEl: ".swiper-button-next",
            prevEl: ".swiper-button-prev",
        },

        pagination: {
            el: ".swiper-pagination",
        },                    
    });
}

方式二:

用到 v-for 遍歷圖片url數(shù)組(并且該數(shù)組是在本組件中通過發(fā)請(qǐng)求獲取的),那么就要用到 watch + $nextTick

5.11.1 watch+$nextTick

當(dāng)一個(gè)數(shù)據(jù)發(fā)生改變時(shí),此時(shí) DOM 還沒有更新,所以在監(jiān)視屬性中的 handle 函數(shù)中 寫一個(gè) $nextTick 可以實(shí)現(xiàn) 數(shù)據(jù)發(fā)生改變且 DOM 更新后執(zhí)行代碼

回到 swiper ,我們?cè)谶@個(gè)時(shí)候 創(chuàng)建 swiper 實(shí)例

bannerList:圖片url數(shù)組

watch: {
    bannerList: {
        handler() {
            this.$nextTick(function() {
                new Swiper(".swiper-container", {
                    loop: true,
                    mousewheel: true,
                    keyboard: true,

                    navigation: {
                        nextEl: ".swiper-button-next",
                        prevEl: ".swiper-button-prev",
                    },

                    pagination: {
                        el: ".swiper-pagination",
                    },                    
                });
            })
        }
    }
},
5.11.2 修改分頁器樣式

1、添加屬性

pagination: {
    el: ".swiper-pagination",
    clickable: true,
    bulletClass : 'my-bullet', // 這個(gè)
    bulletActiveClass: 'my-bullet-active',
},

2、在組件里面寫 css (不要加 scope)

// 分頁器樣式
.my-bullet{
    position: relative;
    display: inline-block;
    width: 15px;
    height: 15px;
    border-radius: 100%;
    background: black;
    opacity: 0.5;
    margin: 0 4px;
}

// 選中的分頁器樣式(會(huì)繼承上面那個(gè)樣式)
.my-bullet-active {
    background: #ff6600;
    opacity: 1;
}
5.11.3 封裝輪播圖組件

當(dāng)一個(gè)圖片需要變?yōu)檩啿D時(shí),我們把 img 標(biāo)簽 換成 Carousel 組件即可!

1、Carousel 組件需要一個(gè)參數(shù):圖片 url 數(shù)組

imgList = [
    {imgUrl: '...'}
    {imgUrl: '...'}
]

2、將 Carousel 組件注冊(cè)為全局組件

// 在 components 中新建 Carousel 文件夾

// main.js
import Carousel from '@/components/Carousel'
Vue.component(Carousel.name,Carousel)

3、Carousel/index.vue (直接照搬即可 樣式可自行修改)

<template>
    <div class="swiper-container">
        <div class="swiper-wrapper">
            <div class="swiper-slide" v-for="(img,index) in imgList" :key="index">
                <img :src="img.imgUrl" />
            </div>
        </div>

        <div class="swiper-button-next"></div>
        <div class="swiper-button-prev"></div>
        <div class="swiper-pagination"></div>
    </div>
</template>

<script>
    import Swiper from 'swiper'

    export default {
        name: 'Carousel',

        props: ['imgList'],

        watch: {
            imgList: {
                immediate: true,
                handler() {
                    this.$nextTick(function() {
                        new Swiper(".swiper-container", {
                            loop: true,

                            pagination: {
                                el: ".swiper-pagination",
                                clickable: true,
                                bulletClass : 'my-bullet',
                                bulletActiveClass: 'my-bullet-active',

                            },
                            
                            navigation: {
                                nextEl: ".swiper-button-next",
                                prevEl: ".swiper-button-prev",
                            },
                        });
                    })
                }
            }
        }
    }
</script>

<style lang="less">
    // 分頁器樣式
    .my-bullet{
        position: relative;
        display: inline-block;
        width: 15px;
        height: 15px;
        border-radius: 100%;
        background: black;
        opacity: 0.5;
        margin: 0 4px;
    }

    // 選中的分頁器樣式(會(huì)繼承上面那個(gè)樣式)
    .my-bullet-active {
        background: #ff6600;
        opacity: 1;
    }
</style>

4、組件中使用(傳入圖片 url 數(shù)組即可)

<Carousel :imgList="bannerList" />
5.11.4 swiper 屬性

1、 <div class="swiper-container">:為輪播圖大盒子

2、<div class="swiper-slide">:為裝圖片的盒子,可以指定大小,那么圖片直接適配?;蛘卟恢付ù笮。瑒t需要指定圖片大小。

3、slidesPerView:設(shè)置 輪播圖大盒子 顯示 輪播圖 張數(shù),輪播圖 會(huì)被修改寬度適配 輪播圖大盒子

4、slidesPerGroup:每次切換 輪播圖 張數(shù)

5、給 <div class="swiper-slide"> 添加類名 swiper-no-swiping :禁止滑動(dòng)文章來源地址http://www.zghlxwxcb.cn/news/detail-445495.html

到了這里,關(guān)于vue2項(xiàng)目之swiper.js 的使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • vue2 若依項(xiàng)目,使用plotly.js-dist圖表庫(kù),將數(shù)據(jù)圖表一鍵導(dǎo)出為圖片

    vue2 若依項(xiàng)目,使用plotly.js-dist圖表庫(kù),將數(shù)據(jù)圖表一鍵導(dǎo)出為圖片

    此代碼適用的場(chǎng)景是一個(gè)頁面有多個(gè)數(shù)據(jù)圖表。 首先需要拿到你生成數(shù)據(jù)圖表的數(shù)據(jù), 然后賦值給一個(gè)數(shù)組,數(shù)組需要在data定義,還需要去重。 ?然后點(diǎn)擊導(dǎo)出按鈕的代碼如下: 單個(gè)下載可以點(diǎn)擊數(shù)據(jù)圖表的照相機(jī),可以實(shí)現(xiàn)單個(gè)下載。 如果數(shù)據(jù)圖表做了分頁和懶加載,無

    2024年02月12日
    瀏覽(25)
  • Vue2+swiper基礎(chǔ)實(shí)現(xiàn)輪播圖

    Vue2+swiper基礎(chǔ)實(shí)現(xiàn)輪播圖

    提示:文章寫完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔 swiper的基礎(chǔ)使用 提示:以下是本篇文章正文內(nèi)容,下面案例可供參考 Swiper中文網(wǎng)-輪播圖幻燈片js插件,H5頁面前端開發(fā) ? ? ? ? 注意:我們用的是vue2所以推薦大家下載swiper5版本 示例: 查看安裝是否完成

    2024年01月16日
    瀏覽(91)
  • 最詳細(xì)!??!前端原神官網(wǎng) (采用html+css+js+dom+ajax+jquery+swiper+json)完整版

    最詳細(xì)!??!前端原神官網(wǎng) (采用html+css+js+dom+ajax+jquery+swiper+json)完整版

    1.該項(xiàng)目采用了大部分前端知識(shí), 完整的復(fù)刻原神官網(wǎng)上所顯示的全內(nèi)容 ,非常全面和詳細(xì)。希望有興趣的小伙伴萌可以看看和參考一下!??!該項(xiàng)目可以作為大學(xué)生 畢設(shè)項(xiàng)目(附帶項(xiàng)目答辯ppt) 同時(shí)也可以作為計(jì)算機(jī)專業(yè)的小伙伴的 期末大作業(yè) 。喜歡的請(qǐng)留下你的足跡

    2024年02月05日
    瀏覽(86)
  • SpringBoot + Vue2項(xiàng)目打包部署到服務(wù)器后,使用Nginx配置SSL證書,配置訪問HTTP協(xié)議轉(zhuǎn)HTTPS協(xié)議

    SpringBoot + Vue2項(xiàng)目打包部署到服務(wù)器后,使用Nginx配置SSL證書,配置訪問HTTP協(xié)議轉(zhuǎn)HTTPS協(xié)議

    配置nginx.conf文件,這個(gè)文件一般在/etc/nginx/...中,由于每個(gè)人的體質(zhì)不一樣,也有可能在別的路徑里,自己找找... 證書存放位置,可自定義存放位置 兩個(gè)文件 后端配置 把.pfx拷貝到resource下,然后配置一下yml

    2024年02月02日
    瀏覽(100)
  • node.js版本過高,導(dǎo)致vue2 版本的項(xiàng)目無法正常啟動(dòng)

    node.js版本過高,導(dǎo)致vue2 版本的項(xiàng)目無法正常啟動(dòng)

    node.js版本過高,導(dǎo)致vue2 版本的項(xiàng)目無法正常啟動(dòng) node的版本是18 ,vue版本是2 ;npm install 失敗 1、未采取提示的方式,而是利用了npx命令; 使用npx指定npm的版本 npx -p npm@6 npm i --legacy-peer-deps 注意:如果這不能立即起作用,也許可以先刪除node_modules和package-lock.json。它們將被重

    2024年02月08日
    瀏覽(27)
  • vue2項(xiàng)目部署到碼云(gitee/pages)的操作步驟

    vue2項(xiàng)目部署到碼云(gitee/pages)的操作步驟

    說明:本文默認(rèn)你已經(jīng)將vue2項(xiàng)目做完,且還未打包;默認(rèn)你會(huì)使用git提交代碼到gitee倉(cāng)庫(kù),只是還不會(huì)使用gitee的pages功能。 1、打開gitee官網(wǎng)并登錄,登錄 - Gitee.com 2、創(chuàng)建一個(gè)gitee倉(cāng)庫(kù),假設(shè)命名為 \\\'mystore\\\' ,然后將寫好的vue項(xiàng)目提交到這個(gè)倉(cāng)庫(kù); ? ? ? ? ============ 第3,4兩步

    2023年04月12日
    瀏覽(25)
  • Rspack 創(chuàng)建 vue2/3 項(xiàng)目接入 antdv(rspack.config.js 配置 less 主題)

    Rspack 創(chuàng)建 vue2/3 項(xiàng)目接入 antdv(rspack.config.js 配置 less 主題)

    Rspack CLI 官方文檔。 rspack.config.js 官方文檔。 創(chuàng)建項(xiàng)目(文檔中還提供了 Rspack 內(nèi)置 monorepo 框架 Nx 的創(chuàng)建方式,根據(jù)需求進(jìn)行選擇) 創(chuàng)建好項(xiàng)目并運(yùn)行,目前 Rspack 版本支持的工程模版: 默認(rèn)創(chuàng)建的 vue 項(xiàng)目為 vue3 : 如果需要其他版本,或其他框架的基礎(chǔ)工程,可到官方提

    2024年02月11日
    瀏覽(25)
  • 【Vue】Vue2創(chuàng)建移動(dòng)端項(xiàng)目實(shí)戰(zhàn)教程,創(chuàng)建移動(dòng)端項(xiàng)目保姆級(jí)教程,設(shè)置axios,utils工具包,vue.fonfig.js配置項(xiàng) (下)

    【Vue】Vue2創(chuàng)建移動(dòng)端項(xiàng)目實(shí)戰(zhàn)教程,創(chuàng)建移動(dòng)端項(xiàng)目保姆級(jí)教程,設(shè)置axios,utils工具包,vue.fonfig.js配置項(xiàng) (下)

    這里是創(chuàng)建移動(dòng)端項(xiàng)目 【Vue】Vue2.x創(chuàng)建項(xiàng)目全程講解,保姆級(jí)教程,手把手教,Vue2怎么創(chuàng)建項(xiàng)目(上) 【Vue】Vue2創(chuàng)建移動(dòng)端項(xiàng)目實(shí)戰(zhàn)教程,創(chuàng)建移動(dòng)端項(xiàng)目保姆級(jí)教程,接上一篇?jiǎng)?chuàng)建Vue2項(xiàng)目(中) 【Vue】Vue2創(chuàng)建移動(dòng)端項(xiàng)目實(shí)戰(zhàn)教程,創(chuàng)建移動(dòng)端項(xiàng)目保姆級(jí)教程,設(shè)置ax

    2024年02月13日
    瀏覽(25)
  • 使用寶塔面板部署Node.js+Mysql服務(wù)和Vue3-Admin項(xiàng)目到云服務(wù)器上

    使用寶塔面板部署Node.js+Mysql服務(wù)和Vue3-Admin項(xiàng)目到云服務(wù)器上

    準(zhǔn)備工作 一臺(tái)云服務(wù)器,可以先用免費(fèi)試用一個(gè)月的服務(wù)器進(jìn)行練手;我這里選擇的是騰訊云的輕量云服務(wù)器; 1、在云服務(wù)器上安裝寶塔面板 寶塔面板官網(wǎng)地址:https://www.kancloud.cn/chudong/bt2017/424209 1.1 安裝Xshell腳本工具,通過這個(gè)工具來連接云服務(wù)器,進(jìn)行寶塔面板的安裝

    2024年01月25日
    瀏覽(28)
  • 使用vue-cli創(chuàng)建vue2項(xiàng)目以及項(xiàng)目配置

    使用vue-cli創(chuàng)建vue2項(xiàng)目以及項(xiàng)目配置

    1、安裝vue-cli cmd:npm install -g @vue/cli@4.5.19 驗(yàn)證是否安裝成功:vue -v? ?出現(xiàn)版本號(hào)說明安裝成功 2、創(chuàng)建項(xiàng)目 vue create 項(xiàng)目名稱 根據(jù)自己的需求選擇特性,如下所示: 手動(dòng)選擇: 選擇自己需要的特性:例如: 選擇vue版本 選擇路由模式 (輸入y和n都可以,y代表history模式?jīng)]有

    2024年02月06日
    瀏覽(94)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包