Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk melaksanakan fungsi susunan tidak sejajar senarai produk dalam vue

Bagaimana untuk melaksanakan fungsi susunan tidak sejajar senarai produk dalam vue

PHPz
PHPzasal
2023-04-13 10:07:12947semak imbas

Dalam beberapa tahun kebelakangan ini, teknologi pembangunan bahagian hadapan telah berkembang pesat Sebagai salah satu rangka kerja bahagian hadapan yang paling popular dalam beberapa tahun kebelakangan ini, Vue telah digemari dan dicari oleh ramai pembangun. Dalam proses pembangunan sebenar, Vue sering digunakan dalam paparan dan pemaparan senarai produk. Walau bagaimanapun, paparan senarai produk yang ringkas tidak dapat memenuhi keperluan pengguna. Mereka bentuk senarai produk berperingkat boleh meningkatkan rasa artistik dan pengalaman pengguna halaman. Mari perkenalkan kaedah merealisasikan susunan berperingkat senarai produk dalam Vue.

1. Idea pelaksanaan

Untuk mencapai susunan senarai produk yang berperingkat, langkah berikut diperlukan:

  1. Tentukan sumber data senarai produk; šŸŽœ> Hasilkan kad produk berdasarkan sumber data;
  2. kira kedudukan selepas salah jajaran berdasarkan lebar dan ketinggian kad produk; .
  3. Mari kita lihat pelaksanaan khusus langkah-langkah ini secara berasingan.
  4. 2. Proses pelaksanaan

1. Tentukan sumber data senarai produk

Pertama, kita perlu menyediakan beberapa data senarai produk, termasuk nama produk, gambar produk, harga produk dan maklumat lain. Data ini boleh disimpan dalam fail JavaScript, contohnya:

2 Hasilkan kad produk berdasarkan sumber data

Dalam Vue, kita boleh menggunakan arahan v-for untuk. render kad produk . Pelaksanaan khusus adalah seperti berikut:
constĀ goodsĀ =Ā [
Ā Ā {
Ā Ā Ā Ā id:Ā 1,
Ā Ā Ā Ā name:Ā 'AppleĀ iPhoneĀ 12',
Ā Ā Ā Ā price:Ā 6999,
Ā Ā Ā Ā image:Ā 'https://xxx.com/xxx.jpg'
Ā Ā },
Ā Ā {
Ā Ā Ā Ā id:Ā 2,
Ā Ā Ā Ā name:Ā 'SamsungĀ GalaxyĀ S21',
Ā Ā Ā Ā price:Ā 7999,
Ā Ā Ā Ā image:Ā 'https://xxx.com/xxx.jpg'
Ā Ā },
Ā Ā //Ā ...
];

3 Mengikut lebar dan ketinggian kad produk, kira kedudukan selepas salah jajaran

Mengikut keperluan salah jajaran, kami. perlu mengira setiap lokasi kad produk. Kita boleh mengira salah jajarannya dengan mendapatkan lebar dan tinggi kad produk dan lebar bekas. Pelaksanaan khusus adalah seperti berikut:
<template>
Ā Ā <div class="goods-list">
Ā Ā Ā Ā <div
      class="goods-card"
      v-for="item in goods"
      :key="item.id"
    >
Ā Ā Ā Ā Ā Ā <img :src="item.image" alt="商品图ē‰‡" />
Ā Ā Ā Ā Ā Ā <div class="info">
Ā Ā Ā Ā Ā Ā Ā Ā <p class="name">{{Ā item.nameĀ }}</p>
Ā Ā Ā Ā Ā Ā Ā Ā <p class="price">Ā„{{Ā item.priceĀ }}</p>
Ā Ā Ā Ā Ā Ā </div>
Ā Ā Ā Ā </div>
Ā Ā </div>
</template>

Akhir sekali, kita boleh menggunakan kedudukan yang dikira dalam kedudukan pada setiap kad produk. Pelaksanaan khusus adalah seperti berikut:

computed:Ā {
Ā Ā //Ā č®”ē®—å‡ŗ商品協ē‰‡ēš„宽åŗ¦
Ā Ā cardWidth()Ā {
Ā Ā Ā Ā constĀ containerWidthĀ =Ā /*Ā čŽ·å–容å™Ø宽åŗ¦Ā */;
Ā Ā Ā Ā constĀ gutterĀ =Ā /*Ā čŽ·å–協ē‰‡ä¹‹é—“ēš„é—“č·Ā */;
Ā Ā Ā Ā constĀ columnNumĀ =Ā /*Ā čŽ·å–åˆ—ę•°Ā */;

Ā Ā Ā Ā returnĀ (containerWidthĀ -Ā gutterĀ *Ā (columnNumĀ -Ā 1))Ā /Ā columnNum;
Ā Ā },

Ā Ā //Ā č®”ē®—å‡ŗ商品協ē‰‡ēš„高åŗ¦
Ā Ā cardHeight()Ā {
Ā Ā Ā Ā returnĀ /*Ā čŽ·å–商品協ē‰‡ēš„高åŗ¦Ā */;
Ā Ā },

Ā Ā //Ā č®”ē®—å‡ŗęƏäøŖ商品協ē‰‡ēš„错位位ē½®
Ā Ā positions()Ā {
Ā Ā Ā Ā constĀ cardListĀ =Ā /*Ā čŽ·å–商品協ē‰‡åˆ—č”ØĀ */;
Ā Ā Ā Ā constĀ gutterĀ =Ā /*Ā čŽ·å–協ē‰‡ä¹‹é—“ēš„é—“č·Ā */;

Ā Ā Ā Ā constĀ positionsĀ =Ā [];
Ā Ā Ā Ā letĀ xĀ =Ā 0;
Ā Ā Ā Ā letĀ yĀ =Ā 0;

Ā Ā Ā Ā cardList.forEach((card,Ā index)Ā =>Ā {
Ā Ā Ā Ā Ā Ā positions.push({Ā x,Ā yĀ });
Ā Ā Ā Ā Ā Ā xĀ +=Ā indexĀ %Ā 2Ā ===Ā 0Ā ?Ā this.cardWidthĀ +Ā gutterĀ :Ā -this.cardWidthĀ -Ā gutter;
Ā Ā Ā Ā Ā Ā yĀ +=Ā indexĀ %Ā 2Ā ===Ā 0Ā ?Ā 0Ā :Ā this.cardHeightĀ +Ā gutter;
Ā Ā Ā Ā });

Ā Ā Ā Ā returnĀ positions;
Ā Ā }
}
3 Ringkasan

Artikel ini memperkenalkan kaedah merealisasikan susunan senarai produk yang salah dalam Vue. Melalui langkah di atas, kami boleh dengan mudah merealisasikan senarai produk yang unik dan cantik, yang bukan sahaja meningkatkan pengalaman pengguna tetapi juga meningkatkan rasa artistik halaman. Untuk anda lebih memahami kandungan yang diterangkan dalam artikel ini, anda disyorkan untuk melaksanakannya secara manual selepas selesai membaca. Semoga artikel ini dapat membantu anda.
<template>
Ā Ā <div class="goods-list">
Ā Ā Ā Ā <div
      class="goods-card"
      v-for="(item, index) in goods"
      :key="item.id"
      :style="{ left: positions[index].x + &#39;px&#39;, top: positions[index].y + &#39;px&#39; }"
    >
Ā Ā Ā Ā Ā Ā <img :src="item.image" alt="商品图ē‰‡" />
Ā Ā Ā Ā Ā Ā <div class="info">
Ā Ā Ā Ā Ā Ā Ā Ā <p class="name">{{Ā item.nameĀ }}</p>
Ā Ā Ā Ā Ā Ā Ā Ā <p class="price">Ā„{{Ā item.priceĀ }}</p>
Ā Ā Ā Ā Ā Ā </div>
Ā Ā Ā Ā </div>
Ā Ā </div>
</template>

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan fungsi susunan tidak sejajar senarai produk dalam vue. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataanļ¼š
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