Vue 淘宝购物车

Vue 淘宝购物车可增加/减少商品数量、删除商品、价格结算。模板varCartTitle={props:[‘uname’],template:`<divclass=”title”>{{uname}}的商品</div>`}varCartList={props:[‘list’],te

可增加/减少商品数量、删除商品、价格结算。

模板

 var CartTitle = {
            props:['uname'],
            template:`
                <div class="title">{
  
  {uname}}的商品</div>
            `
        }
        var CartList = {
            props:['list'],
            template:`
            <div>
                <div :key='item.id' v-for='item in list' class="item">
                    <img :src="item.img" class="img">
                    <div class="name">{
  
  {item.name}}</div>
                    <div class="chamge">
                        <a href="" class="a" @click.prevent='sub(item.id)'>-</a>
                        <input type="text" class="num" :value='item.num' @blur='changeNum(item.id,$event)'>
                        <a href="" class="a" @click.prevent='add(item.id)'>+</a>
                    </div>
                    <div class='del' @click='del(item.id)'>✖</div>
                </div>
            </div>
            `,
            methods:{
                changeNum:function(id,event){
                    console.log(id,event.target.value);
                    this.$emit('change-num',{
                        id:id,
                        type:'change',
                        num:event.target.value
                    });
                },
                sub:function(id){
                    this.$emit('change-num',{
                        id:id,
                        type:'sub',
                    })
                },
                add:function(id){
                    this.$emit('change-num',{
                        id:id,
                        type:'add',
                    })
                },
                del:function(id){
                    console.log(id);
                    //把id传递给父组件
                    this.$emit('cart-del',id);
                }
            },
        }
        var CartTotal = {
            props:['list'],
            template:`                
                <div class="bottom">
                    <span class="lowerMenu">总价:{
  
  {total}}</span>
                    <button class="lowerMenuButton">结算</button>
                </div>
            `,
            computed:{
                total:function(){
                    // 计算商品总价
                    var t = 0;
                    this.list.forEach(item => {
                        t += item.price * item.num;
                    });
                    return t;
                }
            },
        }

Vue 淘宝购物车

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/38229.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注