码迷,mamicode.com
首页 > 其他好文 > 详细

vue:实现图书购物车

时间:2020-07-26 01:04:47      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:app   购物车   购物   ext   viewport   const   style   title   src   

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>图书购物车</title>
    <script src="vue/vue.js"></script>
    <style>
        table {
            border: 1px solid #e9e9e9;
            border-collapse: collapse;
            border-spacing: 0;
        }

        th, td {
            padding: 0px 16px;
            border: 1px solid #e9e9e9;
            text-align: left;
        }

        th {
            background-color: #f7f7f7;
            color: #5c6b77;
            font-weight: 600;
        }
    </style>
</head>
<body>
    <div id="app">
        <div v-if="books.length">
            <table>
                <thead>
                    <tr>
                        <th></th>
                        <th>书籍名称</th>
                        <th>出版日期</th>
                        <th>价格</th>
                        <th>购买数量</th>
                        <th>操作</th>
                    </tr>
                </thead>
                <tbody>
                    <tr v-for="(b, index) in books">
                        <td>{{b.id}}</td>
                        <td>{{b.name}}</td>
                        <td>{{b.date}}</td>
                        <td>{{b.price | showPrice}}</td>
                        <td>
                            <button :disabled="b.count <= 0" @click="decrement(index)">-</button>
                            {{b.count}}
                            <button @click="increment(index)">+</button>
                        </td>
                        <td><button @click="removeHandle(index)">移除</button></td>
                    </tr>
                </tbody>
            </table>
            <h2>总价格: {{totalPrice}}</h2>
        </div>
        <h2 v-else>购物车为空</h2>
    </div>
    <script>
        const app = new Vue({
            el: "#app",
            data: {
                books: [
                    {
                        id: 1,
                        name: "《算法导论》",
                        date: "2006-9",
                        price: 85.00,
                        count: 0
                    },
                    {
                        id: 2,
                        name: "《UNIX编程艺术》",
                        date: "2006-2",
                        price: 59.00,
                        count: 0
                    },
                    {
                        id: 3,
                        name: "《编程珠玑》",
                        date: "2008-10",
                        price: 39.00,
                        count: 0
                    },
                    {
                        id: 4,
                        name: "《算法导论》",
                        date: "2006-9",
                        price: 85.00,
                        count: 0
                    },
                ]
            },

            methods: {
                increment(index) {
                    this.books[index].count += 1;
                },
                decrement(index) {
                    this.books[index].count -= 1;
                },
                removeHandle(index) {
                    this.books.splice(index, 1);
                }
            },
            computed: {
                totalPrice() {
                    let totalPrice = 0;
                    for (let i = 0; i<this.books.length; i++) {
                        totalPrice += this.books[i].price * this.books[i].count;
                    }
                    return totalPrice
                }
            },
            filters: {
                showPrice(price) {
                    return "¥" + price.toFixed(2);
                }
            }
        })
    </script>
</body>
</html>

vue:实现图书购物车

标签:app   购物车   购物   ext   viewport   const   style   title   src   

原文地址:https://www.cnblogs.com/qjuly/p/13377628.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!