Vue实战-购物车案例


Vue实战-购物车案例

Vue快速入门(二)

普通购物车

实现的功能:添加商品到购物车,计算总价




    
    购物车
    
    
    
    



购物车案例

商品名称 商品价格 商品数量 添加购物车
{{data.name}} {{data.price}} {{data.number}}

购物车:{{checkGroup}}

购物车:购物车为空


总价:{{totalPrice()}}

image

PS:for循环的多种形式

上面我们使用for (i in 数组/对象)的形式,在js中for循环常用的形式有四种

//方式一: i是索引,循环选中的商品,基于迭代的循环
for (i in this.checkGroup){
                    console.log(i) // i是索引
                    total += this.checkGroup[i].price * this.checkGroup[i].number
 }
// 方式二: 基于索引的循环,最普通的
for (var i=0;i
 //方式三: 基于迭代 for of (es6)
for (v of this.checkGroup) {
	total += v.price * v.number
 }
 // 方式四:forEach  可迭代对象(数组)的方法,数组而言v是值,i是索引
this.checkGroup.forEach(function(v,i){
  this.checkGroup.forEach((v,i)=>{
    total += v.price * v.number
                })

进阶购物车

一键加入购物车功能实现

基于普通购物车实现功能:一键添加购物车功能

通过v-model双向绑定实现,input框绑定change事件, checkbox选中true反之false




    
    购物车
    
    
    
    



购物车案例

商品名称 商品价格 商品数量 全选/取消全选 
{{data.name}} {{data.price}} {{data.number}}

购物车:{{checkGroup}}

购物车:购物车为空


总价:{{totalPrice()}}¥


是否全选:否 --- {{checkall}}

是否全选:是 --- {{checkall}}

image


商品数量加减的实现

实现功能:通过添加+-样式来控制商品数量的加减

注意:这里暂时不考虑库存的情况,且减少商品数量做单独处理,解决减少数量小于1的情况




    
    购物车
    
    
    
    



购物车案例

商品名称 商品价格 商品数量 全选/取消全选 
{{data.name}} {{data.price}} {{data.number}}

购物车:{{checkGroup}}

购物车:购物车为空


总价:{{totalPrice()}}¥


是否全选:否 --- {{checkall}}

是否全选:是 --- {{checkall}}

image

不足:下面的提示信息可以隐藏,个人只是为了提示,商品删除没有写自行实现


如有错误请指正感谢~

vue