• Vue(小案例_vue+axios仿手机app)_购物车(计算商品总金额)


    一、前言                                                                            

                    1、计算总金额

                    2、点击删除按钮,删除对应的商品信息

                    3、当还没结算的时候,当用户跳到其他页面时,提示用户是否要离开

    二、主要内容                                                                     

    1、计算总金额

             (1)效果演示:

             

      (2)监听多个属性用到computed计算属性

    computed:{
                payment(){
                    let total = 0;//定义总金额
                    let count =0;//定义总数量
    
                    this.shopCart.forEach((shop)=>{
    
                        if(shop.isSelected){//当上面的按钮勾上了,才计算
                            count = count+shop.num;
                            total = total + shop.num * shop.sell_price;
                        }
                    })
    
                    return {
                        total, count
                    }
                }
            },

    2、点击删除按钮,删除对应的商品信息

      删除操作可以用splice, delete

    del(shop,index){//将当前的对象,和index传进来
                    this.shopCart.splice(index,1)//数组中的当前对象
                    
    
                }

    3、当还没结算的时候,当用户跳到其他页面时,提示用户是否要离开

      (1)用导航守卫,在路由离开之前给用户提示

    beforeRouteLeave(to, from, next){
                let res = confirm("确定要离开吗");
    
                if(res){
                    //保存用户编辑的数据
                    let obj={};
                    this.shopCart.forEach((shop)=>{
                        obj[shop.id]=shop.num
                    })
    
                    GoodsTool.saveGoods(obj);
                    next();//然后放行
                }else{
                    next(false);//取消,
                }
            }

    三、总结                                                                            

    虽然现在走得很慢,但不会一直这么慢
  • 相关阅读:
    linux查找杀死进程
    设计模式
    解决导出excel数字为科学计数法问题
    K8S 容器运行时安全设置
    记一次dirty_ratio引起的线上事故
    配置rabbitmq
    k8s集群数据的备份和恢复
    ZK集群安装简易步骤
    Zookeeper 集群环境搭建
    Xcode
  • 原文地址:https://www.cnblogs.com/xxm980617/p/10713000.html
Copyright © 2020-2023  润新知