• vue实现简单添加购物


    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>购物车</title>
        <script src="vue.js"></script>
    </head>
    <style>
        .list-box {
             500px;
            height: 600px;
            border: 2px solid blue;
            float: left;
            overflow: hidden;
        }
    
        h2 {
            font-size: 36px;
            text-align: center;
            color: blueviolet;
        }
    
        .list {
             100%;
            height: 500px;
            border-top: 2px solid black;
            font-size: 24px;
            color: purple;
        }
    
        .item {
            float: left;
            margin-left: 20px;
            margin-bottom: 20px;
        }
    
        .img {
             200px;
            height: 200px;
            background: red;
    
        }
    
        .desc {
             200px;
            height: 30px;
            margin-left: 30px;
    
        }
    
        .car-box {
             500px;
            border: 2px solid red;
            height: 600px;
            float: left;
            margin-left: 100px;
        }
    
        table {
             100%;
            text-align: center;
            font-size: 24px;
            color: black;
            font-weight: 500;
            overflow: hidden;
            position: relative;
        }
    
        button {
            font-size: 20px;
            background: purple;
        }
    
        .zuo {
            float: left;
        }
    
        .you {
            float: right;
        }
    </style>
    
    <body>
        <div id="app">
            <div class="list-box">
                <h2>商品列表</h2>
                <div class="list">
                    <div class="item" v-for="v in lists">
                        <div class="img" :style="{background:'url('+v.imgage+') no-repeat center center/cover'}">
                        </div>
    
                        <div class="desc">
                            <span>{{v.name}}</span>
                            <span>{{v.price|currency("  ")}}</span>
                            <button @click="buy(v)">购买</button>
                        </div>
                    </div>
                </div>
            </div>
            <div class="car-box">
                <h2>购物车</h2>
                <table border="1">
                    <tr>
                        <th>名称</th>
                        <th>单价</th>
                        <th>数量</th>
                        <th>总价</th>
                        <th>操作</th>
                    </tr>
                    <tr v-for="(v,i) in car">
                        <td>{{v.name}}</td>
                        <td>{{v.price|currency("")}}</td>
                        <td>
                            <button class="you" @click="v.num++">+</button>
                            <div>{{v.num}}</div>
                            <button class="zuo" @click='jian(v,i)'>-</button>
                        </td>
                        <td>{{v.price*v.num|currency("")}}</td>
                        <td>
                            <button @click="del(i)">dell</button>
                        </td>
                    </tr>
                </table>
                <div class="price">
                    总价 {{total|currency}}
                </div>
            </div>
        </div>
        <script>
            Vue.filter('currency', function (value = '0', currencyType = '¥', limit = 2) {
                let res;
                value = value.toFixed(limit);
                let prev = value.toString().split('.')[0]; //获取整数部分
                let next = value.toString().split('.')[1];
                res = prev.toString().replace(/(d)(?=(?:d{3})+$)/g, '$1,') + '.' + next;
                return currencyType + res
            })
            var vm = new Vue({
                el: "#app",
                data: {
                    lists: [
                        { id: 1000, name: "葡萄", price: 12, imgage: 'img/0.jpg' },
                        { id: 1001, name: "樱桃", price: 16, imgage: 'img/1.jpg' },
                        { id: 1002, name: "草莓", price: 20, imgage: 'img/2.jpg' },
                        { id: 1003, name: "橙子", price: 6, imgage: 'img/3.jpg' }
                    ],
                    car: []
                },
                computed: {
                    total: function () {
                        var sum = 0;
                        for (var i = 0; i < this.car.length; i++) {
                            sum += this.car[i].price * this.car[i].num;
                        }
                        return sum;
                    }
                },
                methods: {
                    buy: function (v) {
                        var flag = true;
                        for (var i = 0; i < this.car.length; i++) {
                            if (this.car[i].name == v.name) {
                                flag = false;
                                this.car[i].num += 1;
                            }
                        }
                        if (flag) {
                            this.car.push({
                                name: v.name,
                                price: v.price,
                                num: 1
                            })
                        }
                    },
                    jian: function (v, i) {
                        v.num--;
                        if (v.num == 0) {
                            this.car.splice(i, 1)
                        }
                    },
                    del: function (i) {
                        this.car.splice(i, 1)
                    }
                }
            })
        </script>
    </body>
    
    </html>
    

      

  • 相关阅读:
    win7 powershell版本过低问题
    使用VirtualBox + Vagrant打造统一的开发环境
    Windows中查看PowerShell版本和virbox版本,vagrant 版本
    Please upgrade the installed version of powershell to the minimum required version and run the command again.
    PHP Laravel系列之环境搭建( VirtualBox+Vagrant+Homestead+系列网址)
    PHP实现redis限制单ip、单用户的访问次数功能
    错误信息:FATAL: No bootable medium found! System halted.
    VirtualBox下安装ubuntu server 16.04
    我的arcgis培训照片13
    我的arcgis培训照片12
  • 原文地址:https://www.cnblogs.com/aloneindefeat/p/10831400.html
Copyright © 2020-2023  润新知