zoukankan      html  css  js  c++  java
  • Vue实现简单的列表金额计算效果(简易购物车)

    效果图:


    使用技术:v-for v-bind v-on实现简单的列表选中绑定操作

    代码:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <title></title>
            <script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
            <style>
                .green {
                    background: greenyellow;
                    border-radius: 5px;
                }
    
                .pink {
                    background: deeppink;
                    border-radius: 5px;
                }
    
                #box {
                    border-radius: 5px;
                    font-family: 黑体;
                    width: 300px;
                    height: 400px;
                    background: cadetblue;
                }
    
                .item {
                    text-align: center;
                    width: 240px;
                    height: 40px;
                    margin-top: 10px;
                    line-height: 40px;
                }
            </style>
        </head>
        <body>
            <div id="box" align="center">
                <h1 style="padding-top: 20px;">Services</h1>
                <div class="item s1" v-for="(item,index) in cart" v-on:click="ok(index)" v-bind:class="{pink:!item.bol, green:item.bol}">
                    <p>{{ item.name }} ------ {{ item.price }}--{{ item.bol }}</p>
                </div>
                <hr>
                <p style="float: left;margin-left: 50px;">Total:</p>
                <p style="float: right;margin-right: 50px;">{{ total }}</p>
            </div>
        </body>
    </html>
    
    <script>
        var vm = new Vue({
            el: '#box',
            data: {
                cart: [{
                        name: 'Computer',
                        price: 5000,
                        bol: false
                    },
                    {
                        name: 'Keybord',
                        price: 200,
                        bol: false
                    },
                    {
                        name: 'Mouse',
                        price: 20,
                        bol: false
                    },
                    {
                        name: 'Disk',
                        price: 2000,
                        bol: false
                    },
                ],
                total: 0
            },
            methods: {
                ok: function(index) {
                    this.cart[index].bol = !this.cart[index].bol
                    this.total = 0
                    for (var i = 0; i < this.cart.length; i++) {
                        if (this.cart[i].bol)
                            this.total += this.cart[i].price
                    }
                }
            }
        })
    </script>
  • 相关阅读:
    jackson自动将东八区时间转成标准时间
    开发项目和所用时间 感想
    自我介绍
    后缀数组模板
    lucas模板
    后缀数组da3模板
    cf#366....
    第1月2周1天
    第1月2周2天
    第1月1周1天
  • 原文地址:https://www.cnblogs.com/arebirth/p/vuesimpleshoplist.html
Copyright © 2011-2022 走看看