Cara menggunakan Vue untuk menetapkan kesan karusel produk

PHPz
Lepaskan: 2023-04-12 10:36:05
asal
1357 orang telah melayarinya

Dengan perkembangan berterusan pasaran e-dagang, paparan produk telah menjadi bahagian penting dalam platform e-dagang. Antaranya, karusel produk, sebagai cara untuk memaparkan produk, semakin digemari oleh peniaga dan pengguna. Artikel ini akan memperkenalkan cara menggunakan Vue untuk menyediakan karusel produk.

1. Pasang Vue dan Vue-Cli

Sebelum kita mula, kita perlu memasang Vue dan Vue-Cli. Vue ialah rangka kerja JavaScript yang ringan, berprestasi tinggi, boleh digubah, dan Vue-Cli menyediakan proses pembangunan bahagian hadapan dan perancah projek.

Pertama, buka terminal dan masukkan arahan berikut untuk memasang Vue:

npm install vue
Salin selepas log masuk

Kemudian, gunakan arahan berikut untuk memasang Vue-Cli:

npm install -g vue-cli
Salin selepas log masuk

2. Cipta projek Vue

Selepas pemasangan selesai, kami mula mencipta projek Vue. Buka terminal dan masukkan arahan berikut:

vue create my-project
Salin selepas log masuk

di mana, projek saya ialah nama projek anda. Selepas pelaksanaan selesai, masukkan folder projek:

cd my-project
Salin selepas log masuk

3. Pasang Swiper

Artikel ini menggunakan perpustakaan Swiper untuk melaksanakan carta karusel produk, jadi kita perlu memasang Swiper terlebih dahulu . Dalam direktori akar projek, masukkan arahan berikut:

npm install swiper --save
Salin selepas log masuk

4. Import fail Swiper dan CSS

Selepas pemasangan selesai, perkenalkan fail Swiper dan CSS ke dalam fail Vue. Masukkan fail src/main.js dan tambahkan kod berikut pada permulaan:

import Vue from 'vue'
import App from './App.vue'
import 'swiper/css/swiper.css'
import Swiper from 'swiper'
Vue.prototype.$swiper = Swiper
new Vue({
  render: h => h(App),
}).$mount('#app')
Salin selepas log masuk

Di sini kami memperkenalkan fail Swiper dan CSS dan lekapkan Swiper pada sifat prototaip Vue.

5. Cipta komponen karusel produk

Dalam projek Vue, kami boleh membahagikan modul berfungsi kepada komponen individu. Oleh itu, dalam direktori src/components, kami mencipta komponen karusel produk Carousel.vue. Berikut ialah kod komponen:

<template>
  <div class="swiper-container">
    <div class="swiper-wrapper">
      <div class="swiper-slide" v-for="(item, index) in dataList">
        <img :src="item">
      </div>
    </div>
    <!-- 如果需要分页器 -->
    <div class="swiper-pagination"></div>
  </div>
</template>

<script>
export default {
  name: 'Carousel',
  props: {
    dataList: {
      type: Array,
      default: () => []
    },
    options: {
      type: Object,
      default: () => {
        return {
          autoplay: false,
          loop: true,
          pagination: {
            el: '.swiper-pagination',
          }
        }
      }
    }
  },
  mounted() {
    this.$nextTick(() => {
      if (this.$swiper) {
        this.initSwiper()
      }
    })
  },
  methods: {
    initSwiper() {
      this.$swiper('.swiper-container', this.options)
    }
  }
}
</script>

<style lang="scss" scoped>
.swiper-container {
  width: 100%;
  height: calc(real(180 / 320) * 100vw);
  overflow: hidden;
  .swiper-wrapper {
    height: 100%;
    .swiper-slide {
      height: 100%;
      overflow: hidden;
      img {
        width: 100%;
        height: 100%;
        object-fit: contain;
      }
    }
  }
  .swiper-pagination {
    position: absolute;
    bottom: 0;
    padding: 5px;
    text-align: right;
    z-index: 10;
    display: flex;
    justify-content: flex-end;
    width: 100%;
    box-sizing: border-box;
  }
  .swiper-pagination-bullet {
    margin: 0 5px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: #fff;
    opacity: 0.4;
    transition: all 0.2s ease;
    &.swiper-pagination-bullet-active {
      opacity: 1;
      width: 8px;
      height: 8px;
    }
  }
}
</style>
Salin selepas log masuk

Komponen terdiri daripada bahagian berikut:

  1. Bahagian templat (<template>): Menggunakan struktur HTML Swiper, melalui v-forGelung arahan memaparkan imej karusel produk.
  2. Bahagian JavaScript (<script>): Laksanakan pemulaan komponen dan pelekap Swiper.
  3. Bahagian gaya (<style>): Laraskan gaya komponen karusel produk.

6 Gunakan komponen Carousel dalam halaman

Dalam projek Vue, kami boleh memperkenalkan komponen ke dalam halaman. Dalam direktori src/views, kami mencipta fail GoodsDetail.vue baharu dan menggunakan komponen Karusel untuk melaksanakan carta karusel produk. Berikut ialah kod GoodsDetail.vue:

<template>
  <div class="goods-detail">
    <carousel :dataList="goodsDetail.imgUrls" :options="{ autoplay: true }"></carousel>
  </div>
</template>

<script>
import Carousel from '@/components/Carousel.vue'
export default {
  name: 'GoodsDetail',
  data() {
    return {
      goodsDetail: {
        imgUrls: [
          'http://img1.qunarzz.com/piao/fusion/1710/e3/db0a91d642a3a002.jpg_640x200_459cc22c.jpg',
          'http://img1.qunarzz.com/piao/fusion/1710/1e/28417fbe5d5cd902.jpg_640x200_8e969821.jpg',
          'http://img1.qunarzz.com/piao/fusion/1710/4a/547f73542a4f2602.jpg_640x200_ee204ab1.jpg'
        ]
      }
    }
  },
  components: {
    Carousel
  }
}
</script>

<style lang="scss" scoped>
.goods-detail {
  .swiper-container {
    margin: 10px;
  }
}
</style>
Salin selepas log masuk

Di sini, kami memperkenalkan komponen Karusel dan menghantar data dan parameter carta karusel produk kepadanya.

Pada ketika ini, kod Vue untuk menyediakan imej karusel produk telah selesai. Kini, kita boleh melihat karusel produk pada halaman GoodsDetail.

Ringkasan

Artikel ini memperkenalkan cara menggunakan Vue untuk menyediakan carta karusel produk. Antaranya, kami menggunakan perpustakaan Swiper sebagai alat pelaksanaan utama dan membahagikan modul berfungsi kepada komponen individu untuk meningkatkan kebolehselenggaraan dan kebolehbacaan kod. Saya percaya bahawa melalui pengenalan artikel ini, pembaca boleh membangunkan dan mengekalkan projek Vue dengan lebih baik.

Atas ialah kandungan terperinci Cara menggunakan Vue untuk menetapkan kesan karusel produk. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!