vue 入门 ------简单购物车功能实现(全选,数量加减,价格加减)
简易购物车功能(无任何布局 主要是功能)
- 数量的加减
- 商品的总价钱
- 全选与全不选
- 删除(全选、价格 受影响)
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<div id="box">
全选:<input type="checkbox" @click="handleAllChecked($event)" v-model="isAllChecked"/>
<ul>
<li v-for="data,index in list" :key="data.id" style="overflow: hidden;">
<input type="checkbox" :value="data" v-model="checkgroup" style="float: left;"
@change="handleItemChange()"/>
<div style="float: left;">
<div>{{data.name}}</div>
<div>价格:{{data.price}}</div>
<!-- <div>数量:{{data.number}}</div> -->
</div>
<div style="float: left;margin-left: 20px;">
<button @click="handleDel(data)">-</button>
{{data.number}}
<button @click="data.number++">+</button>
</div>
<div style="float: right;">
<button @click='handleRemove(index,data.id)'>remove</button>
</div>
</li>
</ul>
{{checkgroup}}
<p>总金额:{{ getSum() }}</p>
</div>
<script type="text/javascript">
var vm = new Vue({
el:"#box",
data:{
name:"kerwin",
checkgroup:[],
isAllChecked:false,
list:[
{
name:"商品1",
price:10,
number:1,
id:"1",
},
{
name:"商品2",
price:20,
number:2,
id:"2",
},
{
name:"商品3",
price:30,
number:3,
id:"3",
}
]
},
methods: {
// 每个chekcbox 改变触发, 判读数组的长度与list长度
handleItemChange(){
console.log(this.checkgroup.length)
if(this.checkgroup.length===this.list.length && this.list.length !== 0 ){
//全选chekcbox勾上
this.isAllChecked = true
}else{
// 取消checkbox勾选
this.isAllChecked = false
}
},
//全选按钮处理
handleAllChecked(evt){
if(evt.target.checked){
//全选中
this.checkgroup = this.list
}else{
//全不选中
this.checkgroup = []
}
},
//商品减少
handleDel(data){
data.number--
if(data.number===0){
data.number =1
}
},
//计算总金额
getSum(){
var sum = 0;
for(var i in this.checkgroup){
sum += this.checkgroup[i].price*this.checkgroup[i].number
}
return sum
},
//删除数据
handleRemove(index,id) {
//list
this.list.splice(index,1)
//checkgroup
this.checkgroup =this.checkgroup.filter(item => item.id !== id)
this.handleItemChange()
}
},
})
</script>
vue 入门 ------简单购物车功能实现(全选,数量加减,价格加减)的更多相关文章
- jQuery入门简单实现反选与全选
//html代码<input type="checkbox" id= 'all' value="全选"> 选择全部 一键上路 <input t ...
- 基于vue2.0打造移动商城页面实践 vue实现商城购物车功能 基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果
基于vue2.0打造移动商城页面实践 地址:https://www.jianshu.com/p/2129bc4d40e9 vue实现商城购物车功能 地址:http://www.jb51.net/art ...
- 第八十二篇:Vue购物车(三) 实现全选功能
好家伙, 继续完善购物车相应功能 1.如何实现全选和反全选 1.1.全选框的状态显示(父传子) 来一波合理分析: 在页面中,有三个商品中 三个商品中的第二个未选择, 我么使用一个计算属性(fullSt ...
- vue开发购物车,解决全选单选问题
实现全选单选,在vue中无法通过this获取input中的checkbox的checked属性,但是可以通过vue对input的特殊方式v-model来实现对应数据的绑定,同样也可以通过这种方式实现购 ...
- vue.js实现购物车功能
购物车是电商必备的功能,可以让用户一次性购买多个商品,常见的购物车实现方式有如下几种: 1. 用户更新购物车里的商品后,页面自动刷新. 2. 使用局部刷新功能,服务器端返回整个购物车的页面html 3 ...
- 用vue.js实现购物车功能
购物车是电商必备的功能,可以让用户一次性购买多个商品,常见的购物车实现方式有如下几种: 1. 用户更新购物车里的商品后,页面自动刷新. 2. 使用局部刷新功能,服务器端返回整个购物车的页面html 3 ...
- vue - 列表显示(列互相影响,全选控制,更新数据)
要实现的效果为:全选,且列A列B互相影响,列B勾选则列A一定勾选,列A取消勾选,则相应列B取消勾选 数组 vue中列表渲染有些不是相应式的 var list=[ { a:'aaaa', b:'ddd' ...
- php 实现简单购物车功能(2)
上一篇的时候只是写了简单的加入购物车功能,购物车中产品的删除.提交订单后,库存的减少 以及客户账户的余额都没有完善, 这一篇是接着完善上一篇的,上一篇写到了购物车中删除的功能了,为了使删除的代码少敲一 ...
- php--jquery操作全选、批量删除、加减行
随机推荐
- ST表竞赛模板
void RMQ_init(){//ST表的创建模板 ;i<n;i++) d[i][]=mo[i]; ;(<<j)<=n;j++) ;i+(<<j)-<n;i ...
- 借助 dp 公式去优化
题目描述 一天,神犇和 LCR 在玩扑克牌.他们玩的是一种叫做“接竹竿”的游戏. 游戏规则是:一共有 nnn 张牌,每张牌上有一个花色 ccc 和一个点数 vvv,花色不超过 kkk 种.将这些牌依次 ...
- Redis 分布式锁的正确实现方式( Java 版 )
前言 分布式锁一般有三种实现方式:1. 数据库乐观锁:2. 基于Redis的分布式锁:3. 基于ZooKeeper的分布式锁.本篇博客将介绍第二种方式,基于Redis实现分布式锁.虽然网上已经有各种介 ...
- 18个Java8日期处理的实践,对于程序员太有用了!
18个Java8日期处理的实践,对于程序员太有用了! Java 8 推出了全新的日期时间API,在教程中我们将通过一些简单的实例来学习如何使用新API. Java处理日期.日历和时间的方式一直为社区所 ...
- 使用静态URL片段 URL路由 精通ASP-NET-MVC-5-弗瑞曼
- selenium等待方式之显示等待
有时候,页面元素并未及时加载出来导致后面的步骤无法执行 这里就需要在加载前添加等待时间,让目标元素有足够的时间加载出来 第一种方法:使用time.sleep() 这种方法过于强制,无论元素是否加载出来 ...
- 基于Flask框架搭建视频网站的学习日志(二)
基于Flask框架搭建视频网站的学习日志(二)2020/02/02 一.初始化 所有的Flask程序都必须创建一个程序实例,程序实例是Flask类的对象 from flask import Flask ...
- RTMP、HTTP、HLS协议比较
RTMP HLS HTTP 直播协议一次看个够 直播从2016年一路火到了2017年,如今要在自己的App里加入直播功能,只要找一个现成的SDK就行了,什么拍摄.美颜.推流,一条龙服务.不过作为直播身 ...
- Shell常用命令之sort
sort命令 sort命令是在Linux里非常有用,它将文件进行排序,并将排序结果标准输出.sort命令既可以从特定的文件,也可以从stdin中获取输入. 语法 sort (选项) (参数) 选项 - ...
- input输入框联想功能
一直想找一个可以连接后台,可以根据后台内容的input输入框,可以实现联想功能,网上找到一个简单的静态页面的输入框联想,经过一番修改之后终于可以实现读取自己定义的数组的联想了,其实也比较简单就是格式的 ...