-
BLOG
知る。残す。伝える。
とりあえずswiperを入れてみたかったのでcssは省略
※色々実験中なのですぐ消すかも
※Vercelで公開した
★Vercel関連過去記事
Nuxt.js+microCMS+Vercelで記事一覧と詳細ページを作成して公開して変更される度に(pushする度に)slackに通知させるまで
macOS Mojave 10.14.6
Nuxt.js v2.12.2
npm 6.14.5
(1)vue-awesome-swiperをインストール
(2)プラグインファイルを作成
(3)nuxt.config.jsにプラグイン追加
(4)ソース
npm install swiper vue-awesome-swiper –save
import Vue from 'vue' import VueAwesomeSwiper from 'vue-awesome-swiper' // import style import 'swiper/css/swiper.css' Vue.use(VueAwesomeSwiper, /* { default options with global component } */)
plugins: [ { src: '~/plugins/vue-awesome-swiper', mode: 'client' } ],
【メモ】
Vueプラグインを使用する場合は「plugin」フォルダ内にてセットアップし、nuxt.config.jsに追加する必要がある
<template> <div v-swiper:mySwiper="swiperOption"> <div class="swiper-wrapper"> <div class="swiper-slide" v-for="banner in banners"> <img :src="banner"> </div> </div> <div class="swiper-pagination"></div> <div class="swiper-button-prev"></div> <div class="swiper-button-next"></div> </div> </template> <script> export default { data () { return { banners: [ require('~/assets/images/img01.png'), require('~/assets/images/img02.png'), require('~/assets/images/img03.png'), ], swiperOption: { loop: true, slidesPerView: 3, spaceBetween: 30, autoplay: { delay: 1000 }, loop: true, navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev' }, pagination: { el: '.swiper-pagination' }, // ... } } }, mounted() { console.log('Current Swiper instance object', this.mySwiper) this.mySwiper.slideTo(3, 1000, false) } } </script>
【メモ】
◎Nuxt.jsの場合、画像のパスの指定方法が場所によって違うよう。(詰んだ)
assetsフォルダ内の場合は「require(‘~/assets/images/img01.png’)」としなければならない
◎画像をループさせずに並べる方法もあるようだが、Vueをなるべく使いたかったので「v-for」で画像を並べた
◎「mounted()」はelementが読み込まれてから実行される
湿気ゴイス
© Copyright 2020 NIAR All rights reserved.