本代码示例展示了如何在 Vue.js 中创建响应式网格布局中的产品卡片。该网格布局可适应不同的屏幕尺寸,确保产品卡片在各种设备上都具有最佳显示效果。
此代码提供了以下基本功能:
const app = Vue.createApp({
// ...
})
const categories = ref(['All', 'Sofa', 'Chair', 'Table', 'Kitchen'])
const priceRange = ref([20, 140])
const sortByOptions = ref(['Popular', 'Most Recent', 'Price High', 'Price Low'])
const ratings = ref([5, 4, 3, 2, 1])
const products = ref([
// ...
])
<template>
<div class="group">
<img :src="product.image" alt="product" class="product-image">
<div class="title">{{ product.name }}</div>
<div class="product-price">{{ product.price }}</div>
<div class="product-name">{{ product.type }}</div>
</div>
</template>
<script>
export default {
props: ['product'],
}
</script>
<template>
<div class="grid">
<product-card v-for="product in products" :key="product.id" :product="product"></product-card>
</div>
</template>
<script>
export default {
setup() {
const products = ref([
// ...
])
return {
products,
}
},
}
</script>
<script>
export default {
methods: {
filterProducts() {
// ...
},
sortProducts() {
// ...
},
},
}
</script>