이번 글에서는 vue 프로젝트에서 swiper 플러그인을 import하는 방법을 주로 소개하고 참고하겠습니다.
버전 선택
swiper는 일반적으로 사용되는 플러그인으로, 이제 4세대인 swiper4까지 반복되었습니다.
일반적으로 사용되는 버전은 swiper3과 swiper4입니다. 저는 swiper3을 선택했습니다.
Install
swiper3의 최신 버전 3.4.2를 설치하세요:
npm i swiper@3.4.2 -S
여기에 노드 패키지의 모든 버전 번호를 보는 방법에 대한 약간의 지식이 있습니다:
npm view 包名 versions
Component writing
공식적인 방법 Swiper를 사용하면 4 개의 프로세스로 나뉩니다. Plug-in
html Contentswiper initialize stwiper에 대한 크기를 정의하십시오. 또한이 프로세스를 따라 구성 요소를 작성하십시오.
import Swiper from 'swiper'; import 'swiper/dist/css/swiper.min.css';
<template> <p class="swiper-container"> <p class="swiper-wrapper"> <p class="swiper-slide">Slide 1</p> <p class="swiper-slide">Slide 2</p> <p class="swiper-slide">Slide 3</p> </p> <!-- 如果需要分页器 --> <p class="swiper-pagination"></p> <!-- 如果需要导航按钮 --> <p class="swiper-button-prev"></p> <p class="swiper-button-next"></p> <!-- 如果需要滚动条 --> <p class="swiper-scrollbar"></p> </p> </template>
.swiper-container { width: 600px; height: 300px; }
Swiper는 DOM 렌더링이 완료될 때까지 초기화할 수 없기 때문에 초기 화를 넣어야 한다 vue 수명 주기 후크 기능 탑재:mounted(): {
/* eslint-disable no-new */
new Swiper('.swiper-container', {})
}
mounted(): { var mySwiper = new Swiper('.swiper-container', {}) }
Complete
위의 코드를 결합하면 <template>
<p class="swiper-container">
<p class="swiper-wrapper">
<p class="swiper-slide">Slide 1</p>
<p class="swiper-slide">Slide 2</p>
<p class="swiper-slide">Slide 3</p>
</p>
<!-- 如果需要分页器 -->
<p class="swiper-pagination"></p>
<!-- 如果需要导航按钮 -->
<p class="swiper-button-prev"></p>
<p class="swiper-button-next"></p>
<!-- 如果需要滚动条 -->
<p class="swiper-scrollbar"></p>
</p>
</template>
<script>
import Swiper from &#39;swiper&#39;;
import &#39;swiper/dist/css/swiper.min.css&#39;;
export default {
mounted(): {
var mySwiper = new Swiper('.swiper-container', {})
}
}
</script>
데이터 렌더링
실제 프로젝트에서는 배너 그래픽 효과를 얻기 위해 스와이퍼 플러그인을 자주 사용합니다(시나 모바일 버전):
데이터 획득
저는 ajax를 자주 사용합니다 vue 프로젝트의 플러그인 Axios는 예를 들어:axios .get('/user?ID=12345') .then(function (response) { this.imgList = response; }) .catch(function (error) { console.log(error); });
[ "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" ]
<template> <p class="swiper-container"> <p class="swiper-wrapper"> <p class="swiper-slide" v-for="item in imgList" :style="{backgroundImage: 'url(' + item + ')'}"></p> </p> <!-- 如果需要分页器 --> <p class="swiper-pagination"></p> <!-- 如果需要导航按钮 --> <p class="swiper-button-prev"></p> <p class="swiper-button-next"></p> <!-- 如果需要滚动条 --> <p class="swiper-scrollbar"></p> </p> </template> <style> .swiper-slide { width: 100%; height: 400px; } <style>
초기화
따라서 데이터를 얻고 DOM을 업데이트한 후에는 Swiper를 다시 초기화해야 합니다. swiper는 흔히 사용되는 플러그인이지만, vue 프로젝트에 swiper를 가져올 때 많은 문제가 발생합니다. 가장 큰 문제는 다양한 js 플러그인을 효과적으로 사용할 수 있도록 vue의 수명주기를 이해하는 것입니다. 위 내용은 모두를 위해 제가 정리한 내용입니다. 앞으로 모든 사람에게 도움이 되기를 바랍니다. 관련 기사: js의 장식 디자인 패턴에 대한 자세한 해석 위 내용은 vue에서 swiper 플러그인을 가져오는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!axios
.get('/user?ID=12345')
.then(function (response) {
// 获取数据更新
this.imgList = response;
// DOM还没有更新
this.$nextTick(() => {
// DOM更新了
// swiper重新初始化
/* eslint-disable no-new */
new Swiper('.swiper-container', {})
})
})
.catch(function (error) {
console.log(error);
});