vue之最简单的购物车实现
<template> <div> <el-table :data="books" style="width: 100%"> <el-table-column label="序号" width="180"> <template slot-scope="scope"> <i class="el-icon-star-off"></i> <span style="margin-left: 10px">{ { scope.row.id }}</span> </template> </el-table-column> <el-table-column label="商品名称" width="180"> <template slot-scope="scope"> <el-popover trigger="hover" placement="top"> <p>商品名称: { { scope.row.title }}</p> <p>单价: { { scope.row.price }}</p> <div slot="reference" class="name-wrapper"> <el-tag size="medium">{ { scope.row.title }}</el-tag> </div> </el-popover> </template> </el-table-column> <el-table-column label="单价" width="180"> <template slot-scope="scope"> <p>{ { scope.row.price }}</p> </template> </el-table-column> <el-table-column label="数量" width="180"> <template slot-scope="scope"> <p>{ { scope.row.count }}</p> </template> </el-table-column> <el-table-column label="金额" width="180"> <template slot-scope="scope"> <p>{ {itemPrice(scope.row.price, scope.row.count)}}</p> </template> </el-table-column> <el-table-column label="操作"> <template slot-scope="scope"> <el-button type="primary" plain size="mini" @click="scope.row.count += 1">加数量</el-button> <el-button type="primary" plain size="mini" @click="scope.row.count -= 1">减数量</el-button> <el-button size="mini" type="danger" @click="deleteItem(scope.$index, scope.row)">删除</el-button> </template> </el-table-column> </el-table> <el-divider content-position="right">总价: { {totalPrice}}</el-divider> </div> </template> <script> export default { name: shoppingCar, props: { msg: String }, data(){ return{ books:[ { id: 1, title: Vue.js无难事, price: 98, count: 1 }, { id: 2, title: VC++深入详解, price: 168, count: 1 }, { id: 3, title: Servlet/JSP深入详解, price: 139, count: 1 }, ] }; }, directives:{ inserted:function(el) { el.focus } }, methods: { itemPrice(price, count) { return price * count; }, deleteItem(index) { this.books.splice(index, 1); } }, computed: { totalPrice() { var total = 0; for (let book of this.books) { total += book.price * book.count; } return total; } } } </script> <style scoped> [v-clock] { display: none; } </style>
上一篇:
IDEA上Java项目控制台中文乱码