用uniapp写一个购物车代码
时间: 2023-12-26 21:03:10 浏览: 90
好的,以下是一个简单的购物车代码示例,使用uniapp框架和Vue.js语法:
1. 首先,在页面中定义购物车商品列表和总价:
```html
<template>
<div class="cart-page">
<div class="cart-list">
<div v-for="(item, index) in cartItems" :key="index">
<div>{{ item.name }}</div>
<div>{{ item.price }}</div>
<div>
<button @click="decrement(index)">-</button>
<span>{{ item.quantity }}</span>
<button @click="increment(index)">+</button>
</div>
</div>
</div>
<div class="cart-total">
Total: {{ cartTotal }}
</div>
</div>
</template>
```
2. 在页面的script标签中,定义购物车商品列表和总价的数据和方法:
```javascript
<script>
export default {
data () {
return {
cartItems: [
{ name: 'Product A', price: 10, quantity: 1 },
{ name: 'Product B', price: 20, quantity: 2 },
{ name: 'Product C', price: 30, quantity: 3 }
]
}
},
computed: {
cartTotal () {
return this.cartItems.reduce((total, item) => total + item.price * item.quantity, 0)
}
},
methods: {
increment (index) {
this.cartItems[index].quantity++
},
decrement (index) {
if (this.cartItems[index].quantity > 1) {
this.cartItems[index].quantity--
}
}
}
}
</script>
```
3. 在页面的style标签中,定义购物车页面的样式:
```css
<style>
.cart-page {
display: flex;
flex-direction: column;
align-items: center;
margin-top: 20px;
}
.cart-list {
display: flex;
flex-direction: column;
align-items: center;
border: 1px solid #ccc;
padding: 10px;
}
.cart-list > div {
display: flex;
justify-content: space-between;
width: 100%;
margin-bottom: 10px;
}
.cart-list button {
font-size: 20px;
}
.cart-total {
font-size: 24px;
margin-top: 20px;
}
</style>
```
这样,一个简单的购物车页面就完成了,用户可以在购物车页面中增加或减少商品的数量,并实时更新购物车总价。
阅读全文