日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > vue >内容正文

vue

vue导入swiper_vue项目中导入swiper插件的方法

發(fā)布時(shí)間:2024/7/19 vue 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vue导入swiper_vue项目中导入swiper插件的方法 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

這篇文章主要為大家詳細(xì)介紹了vue項(xiàng)目中導(dǎo)入swiper插件的方法,具有一定的參考價(jià)值,可以用來(lái)參考一下。

感興趣的小伙伴,下面一起跟隨512筆記的小編兩巴掌來(lái)看看吧!

版本選擇

swiper是個(gè)常用的插件,現(xiàn)在已經(jīng)迭代到了第四代:swiper4。

常用的版本是swiper3和swiper4,我選擇的是swiper3。

安裝

安裝swiper3的最新版本3.4.2:

代碼如下:

npm i swiper@3.4.2 -S

這里一個(gè)小知識(shí),查看node包的所有版本號(hào)的方法:

代碼如下:

npm view 包名 versions

組件編寫(xiě)

swiper官方的使用方法分為4個(gè)流程:

加載插件

HTML內(nèi)容

給Swiper定義一個(gè)大小

初始化Swiper

我也按照這個(gè)流程編寫(xiě)組件:

加載插件

代碼如下:

import Swiper from 'swiper';

import 'swiper/dist/css/swiper.min.css';

HTML內(nèi)容

代碼如下:

Slide 1Slide 2Slide 3

給Swiper定義一個(gè)大小

代碼如下:

.swiper-container {

width: 600px;

height: 300px;

}

初始化Swiper

因?yàn)閐om渲染完成才能初始化Swiper,所以必須將初始化放入vue的生命周期鉤子函數(shù)mounted中:

代碼如下:

mounted(): {

/* eslint-disable no-new */

new Swiper('.swiper-container', {})

}

以上代碼中的/* eslint-disable no-new */是啟用的eslint代碼檢測(cè)的項(xiàng)目可以使用,如果沒(méi)有使用eslint可用使用一下代碼:

代碼如下:

mounted(): {

var mySwiper = new Swiper('.swiper-container', {})

}

完成

將以上的代碼合并起來(lái):

代碼如下:

Slide 1Slide 2Slide 3

import Swiper from 'swiper';

import 'swiper/dist/css/swiper.min.css';

export default {

mounted(): {

var mySwiper = new Swiper('.swiper-container', {})

}

}

.swiper-container {

width: 600px;

height: 300px;

}

運(yùn)行,你看可以實(shí)現(xiàn)輪播圖的效果了。但是到此為止只實(shí)現(xiàn)了輪播的效果,還沒(méi)有對(duì)數(shù)據(jù)的渲染。

對(duì)數(shù)據(jù)的渲染

在實(shí)際項(xiàng)目中swiper插件常用于實(shí)現(xiàn)banner圖的效果(新浪手機(jī)版):

【512pic.com溫馨提示:圖片暫缺】

數(shù)據(jù)的獲取

我用在vue項(xiàng)目中常用ajax插件axios來(lái)示例:

代碼如下:

axios

.get('/user?ID=12345')

.then(function (response) {

this.imgList = response;

})

.catch(function (error) {

console.log(error);

});

將獲取數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)規(guī)定為:

代碼如下:

[

"https://www.baidu.com/img/baidu_jgylogo3.gif",

"https://www.baidu.com/img/baidu_jgylogo3.gif",

"https://www.baidu.com/img/baidu_jgylogo3.gif",

"https://www.baidu.com/img/baidu_jgylogo3.gif",

"https://www.baidu.com/img/baidu_jgylogo3.gif"

]

列表渲染

代碼如下:

.swiper-slide {

width: 100%;

height: 400px;

}

到此為止已經(jīng)將數(shù)據(jù)渲染完成了,但是查看實(shí)際效果,似乎banner無(wú)法實(shí)現(xiàn)輪播圖的效果啊。這里只是將圖片渲染了出來(lái),但是渲染出輪播圖并沒(méi)有被初始化。因?yàn)槌跏蓟呀?jīng)在生命周期mounted時(shí)完成了。

初始化

所以在獲取數(shù)據(jù)且DOM更新后,需要重新初始化swiper。

代碼如下:

axios

.get('/user?ID=12345')

.then(function (response) {

// 獲取數(shù)據(jù)更新

this.imgList = response;

// DOM還沒(méi)有更新

this.$nextTick(() => {

// DOM更新了

// swiper重新初始化

/* eslint-disable no-new */

new Swiper('.swiper-container', {})

})

})

.catch(function (error) {

console.log(error);

});

到此,輪播圖的效果實(shí)現(xiàn)了。

總結(jié)

swiper是我們平時(shí)很常用的插件,但將swiper導(dǎo)入vue項(xiàng)目中遇到的問(wèn)題不少。最主要的問(wèn)題是要搞懂vue的生命周期,這樣才能有效地使用各種js插件。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持512筆記。

注:關(guān)于vue項(xiàng)目中導(dǎo)入swiper插件的方法的內(nèi)容就先介紹到這里,更多相關(guān)文章的可以留意512筆記的其他信息。

關(guān)鍵詞:vue.js

總結(jié)

以上是生活随笔為你收集整理的vue导入swiper_vue项目中导入swiper插件的方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。