用vue.js按照例子编写一个HTML页面1.1.html,计算购物车商品总价
时间: 2024-09-30 10:16:39 浏览: 32
当你想使用Vue.js在HTML页面中创建一个计算购物车商品总价的例子,可以参考以下步骤。首先,在`1.1.html`文件中,我们需要设置基本的HTML结构,并引入Vue.js库。
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Vue购物车示例</title>
<!-- 引入Vue.js -->
<script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
<style>
/* 可选样式 */
.cart-item {
border-bottom: 1px solid #ccc;
padding: 10px;
}
</style>
</head>
<body>
<div id="app">
<h1>购物车</h1>
<ul class="cart-items">
<!-- 使用v-for遍历商品列表 -->
<li v-for="(item, index) in cartItems" :key="index">
{{ item.name }} - {{ item.price }}
<button @click="removeItem(index)">删除</button>
<!-- 计算总价 -->
<p>总价: {{ calculateTotal(item.price) }}</p>
</li>
</ul>
<!-- 添加商品按钮 -->
<input type="text" v-model="newItemName" placeholder="添加商品名称">
<input type="number" v-model.number="newItemPrice" placeholder="添加商品价格">
<button @click="addItem">添加到购物车</button>
<hr>
<p>总计: {{ totalPrice }}</p>
</div>
<script>
new Vue({
el: '#app',
data: {
cartItems: [
{ name: '苹果', price: 5 },
{ name: '香蕉', price: 3 },
// 更多商品...
],
newItemName: '',
newItemPrice: 0,
totalPrice: 0
},
methods: {
addItem() {
if (this.newItemName && this.newItemPrice > 0) {
this.cartItems.push({ name: this.newItemName, price: this.newItemPrice });
this.newItemName = '';
this.newItemPrice = 0;
}
},
removeItem(index) {
this.cartItems.splice(index, 1);
this.updateTotal();
},
calculateTotal(price) {
return price * 1; // 这里只是一个简单的乘法示例,实际应用中可能会从服务器获取实时价格或做其他处理
},
updateTotal() {
this.totalPrice = this.cartItems.reduce((total, item) => total + item.price, 0);
}
}
});
</script>
</body>
</html>
```
在这个例子中,我们创建了一个Vue实例,数据包括购物车列表、新商品名和价,以及总价。通过`v-model`指令双向绑定输入字段的值,然后使用`methods`对象定义方法来添加、删除商品并更新总价。
阅读全文