<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>购入车</title>
<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<b>购入车:</b>
<hr>
<div id="buyCar" v-if="books.length>0">
<table>
<thead>
<tr>
<th>#</th>
<th>书籍名称</th>
<th>初版日期</th>
<th>价格</th>
<th>购买数量</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr v-for="(item,index) in books">
<td>{{item.id}}</td>
<td>{{item.name}}</td>
<td>{{item.date}}</td>
<td>{{item.price | shwoPrice}}</td><!-- fileters 会把 item.price当参数传递给shwoPrice -->
<td><button v-bind:disabled="item.count <= 1" @click="decreatement(index)">-</button>{{item.count}}<button
@click="increatement(index)">+</button></td>
<td><button @click="deletebook(index)">移除</button></td>
</tr>
</tbody>
</table>
<h3> 总价格:{{totalPrice | shwoPrice}}</h3>
</div>
<script type="text/javascript">
const vm = new Vue({
el: '#buyCar',
data: {
books: [{
id: 1,
name: '《算法导论》',
date: '2006-9',
price: 85.10,
count: 1
}, {
id: 2,
name: '《UNIX编程艺术》',
date: '2006-2',
price: 59.80,
count: 1
}, {
id: 3,
name: '《编程珠玑》',
date: '2008-10',
price: 39.11,
count: 1
}, {
id: 4,
name: '《代码大全》',
date: '2001-10',
price: 128.30,
count: 1
}]
},
methods: { //触发事件
deletebook: function(index) {
this.books.splice(index, 1)
},
decreatement: function(index) {
this.books[index].count--
},
increatement: function(index) {
this.books[index].count++
}
},
computed: { //计算
totalPrice() {
let sumValue = 0;
/* 方法1: for (let i in this.books) {
sumValue += this.books[i].price * this.books[i].count
} */
/* 方法2: for (let item of this.books) {
sumValue += item.price * item.count
} */
return this.books.reduce(function(preValue, book) {
return preValue + book.price * book.count
}, 0);
}
},
<!-- 过滤器的使用: item.price | 过滤器 -->
filters: { //过滤器:| 顾虑器
shwoPrice(price) {
return '¥' + price.toFixed(2) //此过滤器作用:加前缀和保持两位小数;
}
}
})
</script>
<style>
table {
border: 1px solid #e9e9e9;
border-collapse: collapse;
border-spacing: 0;
}
th,
td {
padding: 8px 16px;
border: 1px solid #e9e9e9;
text-align: left;
}
th {
background-color: #f7f7f7;
color: #5c6b77;
font-weight: 600;
}
</style>
</body>
</html>
购物车(二)
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 023|决策时间:用户思考了很久,又把商品放回去了,怎么办? 什么是“决策时间”?消费者的注意力时长越来越短,人们...
- 思路来源 https://help.aliyun.com/document_detail/26367.html?s...