vue+vant-stepper+js实现购物车原理小demo

2021-02-17 01:22

阅读:603

标签:ret   效果图   下标   on()   white   none   data   pad   each   

电商毕业设计里的一个购物车demo,效果图:

技术图片

 

 .vue文件

  
    
      {{i}}
    
    
      {{item.id}}
      {{item.name}}
      {{item.price}}
      
      
    
    

共计:一共{{allValue}}件,共

  
export default {
    name: "push",
    data(){
        return{
           tit:[‘序号‘,‘名称‘,‘单价‘,‘数量‘,‘小计‘],
           arr:[],             //购物车
           allCount:0,         //价格总计
           allValue:0          //数量总计
        }
    },
    components:{
    },
    created:function(){
      this.jsfun()
    },
    methods:{
      jsfun(){
        let arr = []
        let obj1={
          id:1,
          name:‘足球‘,
          price:10,
          value:1
        }
        let obj2={
          id:2,
          name:‘篮球‘,
          price:20,
          value:1
        }
        let obj3={
          id:3,
          name:‘水球‘,
          price:50,
          value:1
        }
        arr.push(obj1)
        arr.push(obj2)
        arr.push(obj3)
        arr.forEach(element => {
          element.smallCount = element.price*element.value
          this.allCount += element.price
        });
        console.log(arr)
        this.arr = arr                                   //先在页面加载时生成两条购物车数据,项目中在后台或本地取值
        this.allValue = this.arr.length          //先在页面加载时生成购物车内商品数量 
      },
      change(value,s){                              //绑定的方法不建议使用plus()和minus(),冗余且在计算allCount出现了问题
         console.log(value,s)                      //value是当前购物车已选择的值,s是当前购物车下标
         let allCount = 0
         let allValue = 0
         let arr = this.arr
         for(let i=0;i
           arr[s].smallCount = arr[s].price*arr[s].value
           allCount += arr[i].smallCount
           allValue += arr[i].value
         }
         this.allCount = allCount
         this.allValue = allValue
      },
    } 
}
.box{
  font-size: 12px;
  background: white;
  padding: 10px 0;
  p{
   margin-top: 10px;
  }
}
.tit{
  margin-bottom: 10px;
  :nth-child(1){
    width: 7%;
  }
  :nth-child(2){
    width: 7%;
  }
  :nth-child(3){
    width: 9%;
  }
  :nth-child(4){
    width: 27%;
  }
  :nth-child(5){
    width: 44%;
  }
}
.van-stepper {
    font-size: 0;
    user-select: none;
    display: flex;
}

 

vue+vant-stepper+js实现购物车原理小demo

标签:ret   效果图   下标   on()   white   none   data   pad   each   

原文地址:https://www.cnblogs.com/wd163/p/12964442.html


评论


亲,登录后才可以留言!