用vue开发的购物车并写出代码
时间: 2023-05-24 12:02:43 浏览: 92
基于vue实现的购物车计算功能,学生作业
5星 · 资源好评率100%
A:
以下是一个简单的购物车示例,使用Vue.js构建:
HTML部分:
<!DOCTYPE html>
<html>
<head>
<title>Vue.js Shopping Cart</title>
<script src="https://unpkg.com/vue"></script>
</head>
<body>
<div id="shopping-cart">
<h2>Shopping Cart</h2>
<table>
<thead>
<tr>
<th>Item</th>
<th>Price</th>
<th>Quantity</th>
</tr>
</thead>
<tbody>
<tr v-for="item in items">
<td>{{ item.name }}</td>
<td>{{ item.price }}</td>
<td>
<button v-on:click="removeItem(item)">-</button>
{{ item.quantity }}
<button v-on:click="addItem(item)">+</button>
</td>
</tr>
</tbody>
</table>
<div>Total: {{ total }}</div>
</div>
<script src="app.js"></script>
</body>
</html>
JavaScript部分:
new Vue({
el: '#shopping-cart',
data: {
items: [
{ name: 'Item 1', price: 10, quantity: 1 },
{ name: 'Item 2', price: 20, quantity: 2 },
{ name: 'Item 3', price: 30, quantity: 3 },
]
},
methods: {
addItem: function(item) {
item.quantity++;
},
removeItem: function(item) {
if (item.quantity > 1) {
item.quantity--;
} else {
this.items.splice(this.items.indexOf(item), 1);
}
}
},
computed: {
total: function() {
var total = 0;
this.items.forEach(function(item) {
total += item.price * item.quantity;
});
return total;
}
}
});
在这个示例中,我们使用Vue.js的v-for指令,循环遍历items数组中的每个项目并渲染表格中的行。我们还使用v-on指令添加一个事件监听器,以使用户能够增加或减少项目的数量。最后,我们使用Vue.js的计算属性计算所有项目的总价值。
阅读全文