zoukankan      html  css  js  c++  java
  • VUE购物车示例

    代码下载地址https://github.com/MengFangui/VueShoppingCart

    1、index.html

    <!DOCTYPE html>
    <html lang="zh">
    <head>
        <meta charset="UTF-8" />
        <title>购物车示例</title>
        <link rel="stylesheet" type="text/css" href="css/style.css"/>
    </head>
    <body>
        <div id="app" v-cloak>
            <template v-if="list.length">
                <table>
                    <thead>
                        <tr>
                            <th></th>
                            <th>商品名称</th>
                            <th>商品单价</th>
                            <th>购买数量</th>
                            <th>操作</th>
                        </tr>
                    </thead>
                    <tbody>
                        <!--注意v-for有可选参数键名和索引(value,key,index)-->
                        <tr v-for='(item,index) in list'>
                            <td>
                                {{index+1}}
                            </td>
                            <td>
                                {{item.name}}
                            </td>
                            <td>
                                {{item.price}}
                            </td>
                            <td>
                                <button @click="handleReduce(index)" :disabled="item.count === 1">-</button>
                                {{item.count}}
                                <button @click="handleAdd(index)">+</button>
                            </td>
                            <td>
                                <button @click="handleRemove(index)">移除</button>
                            </td>
                        </tr>
                    </tbody>
                </table>
                <div>总价:¥{{totalPrice}}</div>
            </template>
            <div v-else>
                购物车为空
            </div>
        </div>
        <script src="https://cdn.bootcss.com/vue/2.5.9/vue.min.js"></script>
        <script src="js/index.js" type="text/javascript" charset="utf-8"></script>
    </body>
    </html>

    2、index.js

    var app = new Vue({
        el: '#app',
        data: {
            list: [{
                    id: 1,
                    name: 'iphone 7',
                    price: 6188,
                    count: 1
                },
                {
                    id: 2,
                    name: 'iphone 8',
                    price: 7188,
                    count: 1
                },
                {
                    id: 3,
                    name: 'iphone X',
                    price: 8188,
                    count: 1
                },
            ]
        },
        methods: {
            handleReduce: function(index) {
                if(this.list[index].count === 1) return;
                this.list[index].count--;
            },
            handleAdd: function(index) {
                this.list[index].count++;
            },
            handleRemove: function(index) {
                this.list.splice(index, 1);
            }
        },
        computed: {
            totalPrice: function() {
                var total = 0;
                for(var i = 0, len = this.list.length; i < len; i++) {
                    total += this.list[i].price * this.list[i].count;
                }
                //每隔三位加一个逗号
                return total.toString().replace(/B(?=(d{3})+$)/g, ',');
            }
        }
    })

     

    3、style.css

    [v-cloak]{
        display: none;
    }
    table{
        border: 1px solid #e9e9e9;
        border-collapse: collapse;
        border-spacing: 0;
        empty-cells: show;
    }
    th,td{
        padding: 8px 16px;
        border: 1px solid #e9e9e9;
        text-align: left;
    }
    th{
        background: #f7f7f7;
        color: #5c6b77;
        font-weight: 600;
        white-space: nowrap;
    }

    4、效果

  • 相关阅读:
    [HEOI2016/TJOI2016]树
    luogu P4198 楼房重建
    [USACO11DEC]Umbrellas for Cows
    luogu P2700 逐个击破
    一、MegaCli命令介绍
    dmidecode -t1 | egrep "Manufacturer|Product Name"
    IPMITOOL常用操作指令V1.0
    CentOS 7上的性能监控工具
    Could not open device at /dev/ipmi0
    n95医用口罩(常见型号1860 或者9132)防水无呼吸阀
  • 原文地址:https://www.cnblogs.com/mengfangui/p/8056387.html
Copyright © 2011-2022 走看看