vue脚手架实现商场产品展示
时间: 2023-10-02 10:09:40 浏览: 81
实现商场产品展示需要先准备好产品数据,并且需要使用Vue的组件化开发方式。以下是一个简单的示例,可以通过vue-cli脚手架快速创建:
1. 首先安装vue-cli脚手架:
```
npm install -g @vue/cli
```
2. 创建一个新的Vue项目:
```
vue create my-project
```
3. 进入项目目录并启动开发服务器:
```
cd my-project
npm run serve
```
4. 在src/components目录下新建一个名为ProductList.vue的组件,代码如下:
```html
<template>
<div class="product-list">
<div v-for="product in products" :key="product.id" class="product-item">
<img :src="product.image" alt="">
<h3>{{ product.name }}</h3>
<p>{{ product.description }}</p>
<div class="price">{{ product.price }}</div>
<button @click="addToCart(product)">Add to Cart</button>
</div>
</div>
</template>
<script>
export default {
name: 'ProductList',
props: {
products: {
type: Array,
required: true
}
},
methods: {
addToCart(product) {
// 添加到购物车的逻辑
}
}
}
</script>
<style scoped>
.product-list {
display: flex;
flex-wrap: wrap;
}
.product-item {
width: 250px;
margin: 20px;
text-align: center;
}
.price {
font-size: 18px;
color: #f60;
margin-top: 10px;
}
button {
background-color: #f60;
color: #fff;
border: none;
padding: 10px;
border-radius: 4px;
cursor: pointer;
}
button:hover {
background-color: #f90;
}
</style>
```
5. 在src/views目录下新建一个名为Home.vue的页面组件,代码如下:
```html
<template>
<div class="home">
<h1>Welcome to our online store!</h1>
<ProductList :products="products"></ProductList>
</div>
</template>
<script>
import ProductList from '@/components/ProductList.vue'
export default {
name: 'Home',
components: {
ProductList
},
data() {
return {
products: [
{
id: 1,
name: 'Product 1',
description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
image: 'https://via.placeholder.com/250x250',
price: 19.99
},
{
id: 2,
name: 'Product 2',
description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
image: 'https://via.placeholder.com/250x250',
price: 29.99
},
{
id: 3,
name: 'Product 3',
description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
image: 'https://via.placeholder.com/250x250',
price: 39.99
}
]
}
}
}
</script>
<style scoped>
.home {
text-align: center;
}
h1 {
margin-top: 50px;
font-size: 36px;
}
</style>
```
6. 在App.vue中引入Home组件并使用:
```html
<template>
<div id="app">
<Home></Home>
</div>
</template>
<script>
import Home from '@/views/Home.vue'
export default {
name: 'App',
components: {
Home
}
}
</script>
```
7. 最后在组件中实现添加到购物车的逻辑,可以使用Vuex来管理购物车状态,也可以在组件中直接处理。详细实现可以参考Vue官方文档和Vuex官方文档。
阅读全文