在购物车布局里循环购物车的数据,遍历数组内容 动态展示购物车数据,循环项包括行 名字, 品种, 数量 加按钮 减按钮 ,价格 (数量乘单价),购物车每增加一个数据 就多出来一个行包含这些内容 给这一行里的加按钮和减按钮加个点击事件,带参数item
点击行里的加号的时候 购物车数组中的item里面的数量 自增,item.quantity ++ 后面的单价乘数量会自动变化
购物车下面的总价total 使用computed计算属性得出 ,要得出总价total 要遍历拿到整个数组的单价和数量 先定义一个totalCost等于0,下面开始遍历,一个索引index在购物车这个数组里,单个的索引叫single,给single赋值为this.baskets[index],totalCost的值是用这个索引里的单价乘以这个索引里的数量,有几个totalCost就自己加上几个totalCost ,符号用加等,遍历出去再返回 totalCost就是total的值
解决商品添加时商品名字相同 点添加按钮addToBasket是把当前的item相关内容添加到购物车,给这个点击事件传参数 参数包括item和当前item相关的参数,addToBasket的方法事件是把当前的item的name size price quantity 名字品种价格数量 push到购物车的数组中,现在用一个变量来接收这些属性,让basket是一个对象,对象中包括item.name item.size item.price item.quantity(数量初始为1),包括这几项,接下来 大如果 购物车baskets数组长度大于0(即有内容不为空)的时候,进行过滤 定义一个结果result ,使用filter方法过滤,如果要添加的数据basket和购物车baskets数组里的item内容相同时(返回的内容是 basket.name===item.name并且basket.price===购物车数组中的价格)就匹配上了,此时result会返回一个当前的结果(列表中当前的item相关的内容),这个时候小如果result不为null并且长度大于0,则这个结果result中的第一个(此处要用下标)quantity加加,小否则 即返回的result为空数组,把basket push到购物车数组baskets中去 , 大否则 即购物车数组baskets为空,没有这个数组,把这个basket push到购物车数组中去
vue+bootstrap购物车 链接 http://jsrun.net/v9ZKp