vue2.0实现购物车功能

摘要:
购物车功能是一件比较繁琐的事情,逻辑功能太多,今天就用vue2.0实现一个简单的购物车功能,数据都本地自己写的假数据功能列表:1、全选和单选结算2、减少和增加数量3、商品的删除界面搭建以及布局,这里,我直接用bootstrap快速搭建的一个简单的布局购物车˂tableclass="t

购物车功能是一件比较繁琐的事情,逻辑功能太多,今天就用vue2.0实现一个简单的购物车功能,数据都本地自己写的假数据

vue2.0实现购物车功能第1张

功能列表:

1、全选和单选结算

2、减少和增加数量

3、商品的删除

界面搭建以及布局,这里,我直接用bootstrap快速搭建的一个简单的布局

<div class="container"id="app">
            <h2 class="page-header">购物车</h2>
            <table class="table">
                <tr>
                    <th><label><input type="checkbox"@click="check_all":checked="check_goods.length == cart_list.length"/>全选</label></th>
                    <th>商品名称</th>
                    <th>商品价格</th>
                    <th>数量</th>
                    <th>操作</th>
                </tr>
                <tr v-for="(cart,index) in cart_list":key="index">
                    <td><input type="checkbox":value="cart"v-model="check_goods" /></td>
                    <td>{{cart.goods_name}}</td>
                    <td>{{cart.goods_price}}</td>
                    <td class="col-xs-3">
                        <span class="btn btn-default"v-on:click="reduce(cart)">-</span>
                        <input class="btn-group"type="number"v-model="cart.num" />
                        <span class="btn btn-default"v-on:click="add_num(cart)">+</span>
                    </td>
                    <td>
                        <button class="btn btn-danger"v-on:click="delete_num">删除</button>
                    </td>
                </tr>
            </table>
            <div>总计:共 {{cart_list.length    }}件商品,已选择 {{total_num}} 件
                <div class="pull-right">合计:{{total_price}}元
                    <a href=""class="btn btn-success":disabled="check_goods.length <= 0">去结算</a>
                </div>
            </div>
        </div>

所有的数据都是自己本地写的

data() {
	return {
		cart_list: [{
		  goods_name: '小米6',
		  goods_price: '1699',
		  num: '2',
		},{
		   goods_name: '红米3',
		   goods_price: '699',
		   num: '1',
		},{
		   goods_name: '小米8',
		   goods_price: '2899',
		   num: '1',
		}],
		   check_goods: [] //已选择的商品
	      }
	},

计算属性:

计算出商品中,总价和数量

              computed: {
//				总价
				total_price() {
					let price = 0
this.check_goods.forEach(item => { // 总价 = 价格 * 数量 price += Number(item.goods_price) * Number(item.num) }) return price }, // 数量 total_num() { let t_num = 0; this.check_goods.forEach(item => { t_num += Number(item.num); }) return t_num } },

实现商品增加减少,删除功能

              methods:{
//				商品类减减
				reduce(cart) {
					if(cart.num <=0) {
						cart.num = 0
					} else {
						cart.num --
					}
				},
//				商品累加
				add_num(cart) {
					cart.num++
				},
//				删除商品
				delete_num(cart){
					this.check_goods.splice(this.check_goods.indexOf(cart),1)
					this.cart_list.splice(this.cart_list.indexOf(cart),1)
				},
//				全选
				check_all() {
					if (this.check_goods.length >0) {
						this.check_goods = []
					} else {
						this.cart_list.forEach(item => {
							this.check_goods.push(item)
						})
					}
				}
			}

至此我们的购物车基本功能就完成了,

免责声明:文章转载自《vue2.0实现购物车功能》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇多表关联的update语句python笔记:str.contains小坑之 UserWarning To actually get the groups, use str.extract.下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

vue项目---实现点击加入购物车

分析:使用Vuex状态管理。 点击加入购物车,将这个商品组成一个对象,放到store里面的car[]里。 1.在Goodsinfo.vue中,给加入购物车注册点击函数,addToShopCar  2.在methods中添加这个方法    this.ballFlag=!this.ballFlag;//这是之前控制小球的显示与隐藏   //首先,要拼接出一个...

Redis hash

目录 hash 类型 hash 类型数据的基本操作 hash 类型数据扩展操作 hash 类型数据操作的注意事项 hash 类型应用场景 1、业务场景 1.1、业务分析 1.2、解决方案 2、业务场景 2.1 解决方案 3、业务场景 hash 类型 新的存储需求:对一系列存储的数据进行编组,方便管理,典型应用存储对象信息 需要的存储结构...

nopCommerce 4.2 小程序商城(基础版)

NOP 4.2 小程序商城(基础通用版)欢迎购买或开发定制(讨论技术,没有开发预算的勿扰,谢谢)联系我 QQ:64664795(备注:CSND) 适用对象: 小商家进行商品展示及销售 有二次开发能力的创业公司及相关企业进行二次开发,节约开发时间及成本。 基础版本功能如下: #小程序端# 商城首页:轮播图片、新品、热卖、推荐商品商品分类:商品所有分类展示...

ECSHOP批量添加商品到购物车

ECSHOP是一款开源的网上商店系统,在我心目中可以算得上网上商城界的Wordpress了。本文介绍如何实现在ecshop中批量添加商品到购物车。大家都知道,默认的ecshop只能单件点击“添加到购物车”(Add to Cart)实现一件一件的添加商品到购物车,无法经过多选之后批量添加。 其实实现的方法比较简单,Ecshop本身的添加商品到购物车使用的是一...

Vue 简单实例 购物车5

1、结算按钮 当选中商品时,按钮颜色有灰变红,并显示选中的商品总数量: <div class="btn-wrap"> <a :class="['btn', 'btn--red', checkedCount != 0 ? '' : 'btn--dis']">结算({{ checkedCount }})</a>...

vue项目----购物车商品的删除

1.给删除链接,绑定删除的函数,因为是a链接,要阻止默认行为。  2.再添加removegoods(item.id,index)函数 分析:我们通过item.id删除把商品从store中删除            通过index删除把商品从当前的组件中的shopcargoodslist中删除。 3.要想删除state里面的数据,不能直接操作,要在muta...