今天就跟大家聊聊有關(guān)vue中怎么引用swiper輪播插件,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
成都創(chuàng)新互聯(lián)公司主營延安網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都app軟件開發(fā),延安h5重慶小程序開發(fā)公司搭建,延安網(wǎng)站營銷推廣歡迎延安等地區(qū)企業(yè)咨詢
通過npm安裝插件:
npm install swiper --save-dev
在需要使用swiper的組件里引入swiper,swiper的初始化放在mounted里
Slider.vue源碼:
<template> <div class="swiper-container"> <div class="swiper-wrapper"> <div class="swiper-slide"><img src="../fixtures/sliders/t1.svg"/></div> <div class="swiper-slide"><img src="../fixtures/sliders/t2.svg"/></div> <div class="swiper-slide">Slide 3</div> </div> <!-- 如果需要分頁器 --> <div class="swiper-pagination"></div> <!-- 如果需要導(dǎo)航按鈕 --> <!--<div class="swiper-button-prev"></div>--> <!--<div class="swiper-button-next"></div>--> <!-- 如果需要滾動(dòng)條 --> <!--<div class="swiper-scrollbar"></div>--> </div> </template> <script> import 'swiper/dist/css/swiper.css' import Swiper from 'swiper'; export default { name: "Slider", mounted(){ new Swiper ('.swiper-container', { loop: true, // 如果需要分頁器 pagination: '.swiper-pagination', // 如果需要前進(jìn)后退按鈕 nextButton: '.swiper-button-next', prevButton: '.swiper-button-prev', // 如果需要滾動(dòng)條 scrollbar: '.swiper-scrollbar', }) } } </script> <style scoped> .swiper-container { width: 100%; margin: 0; padding: 0; } .swiper-wrapper { height: 200px; } .swiper-slide img { max-width: 100%; } .swiper-slide { text-align: center; background: #fff; /* Center slide text vertically */ display: -webkit-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center; } </style>
運(yùn)行效果:
接下來,我們對上面的代碼進(jìn)行重構(gòu),因?yàn)槿绻覀冇?css 選擇器作為 Swiper 定位頁面上元素依據(jù)的話,假如在一個(gè)頁面上同時(shí)有兩個(gè).slider-container,那么這個(gè)組件就會亂套 !我們要秉承著低耦合的開發(fā)方式來重構(gòu)我們的代碼。
我們可以使用Vue提供的更精確的指明方式在元素中添加ref熟悉,然后在代碼內(nèi)通過 this.$refs.引用名來引用。
這是Vue.js2.0后的編號,ref標(biāo)記是標(biāo)準(zhǔn)的HTML屬性,它取代了Vue.js 1.x中v-ref的寫法
需要注意的是,如果改為動(dòng)態(tài)綁定圖片,請參考:vue-cil和webpack中本地靜態(tài)圖片的路徑問題解決方案
我這里將靜態(tài)資源文件轉(zhuǎn)移到了static目錄下面。
重構(gòu)后的代碼如下:
<template> <div> <div class="swiper-container" ref="slider"> <div class="swiper-wrapper"> <div class="swiper-slide" v-for="slide in slides"> <router-link :to="{name:'BookDetail',params:{id:slide.id}}"> <img :src="slide.img_url"/> </router-link> </div> </div> </div> </div> </template> <script> import 'swiper/dist/css/swiper.css' import Swiper from 'swiper' export default { name: "Slider", data(){ return{ slides:[{id:1,img_url:'./static/sliders/t1.svg'},{id:2,img_url:'./static/sliders/t2.svg'}] } }, mounted(){ new Swiper (this.$refs.slider, { loop: true, // 如果需要分頁器 pagination: '.swiper-pagination', // 如果需要前進(jìn)后退按鈕 nextButton: '.swiper-button-next', prevButton: '.swiper-button-prev', // 如果需要滾動(dòng)條 scrollbar: '.swiper-scrollbar', }) } } </script>
這里還沒有把組件完全獨(dú)立,里面有數(shù)據(jù)定義,其實(shí)可以把這個(gè)數(shù)據(jù)作為一個(gè)參數(shù)傳遞進(jìn)來,也就是組件之間數(shù)據(jù)傳遞。
Vue頁面跳轉(zhuǎn)傳參
通過路由傳參,在router/index.js中定義路由
export default new Router({ routes: [ { name:'BookDetail', path:'/books/:id', component: BookDetail } ] })
前面的輪播組件中已經(jīng)定義了需要傳遞的路由參數(shù)
<router-link :to="{name:'BookDetail',params:{id:slide.id}}"> <img :src="slide.img_url"/> </router-link>
參數(shù)接收界面BookDetail.vue
<template> <div> 點(diǎn)擊的是:<span v-text="id"></span> </div> </template> <script> export default { name: "BookDetail", data(){ return{ id:this.$route.params.id } }, props:[] } </script> <style scoped> </style>
看完上述內(nèi)容,你們對vue中怎么引用swiper輪播插件有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
網(wǎng)站題目:vue中怎么引用swiper輪播插件
轉(zhuǎn)載來源:http://chinadenli.net/article42/ihocec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、定制開發(fā)、網(wǎng)站導(dǎo)航、營銷型網(wǎng)站建設(shè)、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)