简易购物车功能(无任何布局 主要是功能)
  • 数量的加减
  • 商品的总价钱
  • 全选与全不选
  • 删除(全选、价格 受影响)

<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 入门 ------简单购物车功能实现(全选,数量加减,价格加减)的更多相关文章

  1. jQuery入门简单实现反选与全选

    //html代码<input type="checkbox" id= 'all' value="全选"> 选择全部 一键上路 <input t ...

  2. 基于vue2.0打造移动商城页面实践 vue实现商城购物车功能 基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果

    基于vue2.0打造移动商城页面实践 地址:https://www.jianshu.com/p/2129bc4d40e9 vue实现商城购物车功能 地址:http://www.jb51.net/art ...

  3. 第八十二篇:Vue购物车(三) 实现全选功能

    好家伙, 继续完善购物车相应功能 1.如何实现全选和反全选 1.1.全选框的状态显示(父传子) 来一波合理分析: 在页面中,有三个商品中 三个商品中的第二个未选择, 我么使用一个计算属性(fullSt ...

  4. vue开发购物车,解决全选单选问题

    实现全选单选,在vue中无法通过this获取input中的checkbox的checked属性,但是可以通过vue对input的特殊方式v-model来实现对应数据的绑定,同样也可以通过这种方式实现购 ...

  5. vue.js实现购物车功能

    购物车是电商必备的功能,可以让用户一次性购买多个商品,常见的购物车实现方式有如下几种: 1. 用户更新购物车里的商品后,页面自动刷新. 2. 使用局部刷新功能,服务器端返回整个购物车的页面html 3 ...

  6. 用vue.js实现购物车功能

    购物车是电商必备的功能,可以让用户一次性购买多个商品,常见的购物车实现方式有如下几种: 1. 用户更新购物车里的商品后,页面自动刷新. 2. 使用局部刷新功能,服务器端返回整个购物车的页面html 3 ...

  7. vue - 列表显示(列互相影响,全选控制,更新数据)

    要实现的效果为:全选,且列A列B互相影响,列B勾选则列A一定勾选,列A取消勾选,则相应列B取消勾选 数组 vue中列表渲染有些不是相应式的 var list=[ { a:'aaaa', b:'ddd' ...

  8. php 实现简单购物车功能(2)

    上一篇的时候只是写了简单的加入购物车功能,购物车中产品的删除.提交订单后,库存的减少 以及客户账户的余额都没有完善, 这一篇是接着完善上一篇的,上一篇写到了购物车中删除的功能了,为了使删除的代码少敲一 ...

  9. php--jquery操作全选、批量删除、加减行

随机推荐

  1. 原生js面向对象编程-选项卡(点击)

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  2. netcore使用IOptions

    { "Logging": { "LogLevel": { "Default": "Information", " ...

  3. 曹工说Spring Boot源码(11)-- context:component-scan,你真的会用吗(这次来说说它的奇技淫巧)

    写在前面的话 相关背景及资源: 曹工说Spring Boot源码(1)-- Bean Definition到底是什么,附spring思维导图分享 曹工说Spring Boot源码(2)-- Bean ...

  4. Numpy科学计算从放弃到入门

    目录 一.什么是Numpy ndarray对象 相关文档 二.如何创建数组 三.如何访问数组 下标索引 切片索引 布尔型索引 整数索引 方形索引 四.如何做算数运算 五.如何使用统计函数 六.数组转置 ...

  5. Qt Installer Framework翻译(3-1)

    初始化安装 下图说明了安装应用程序的默认工作流程: 本节使用在macOS上运行的Your Application Installer示例来说明默认工作流程.安装程序具有本地化外观,并可感知每个受支持的 ...

  6. 2017-10-28 noip模拟赛by WISCO 信息组

    第一次做模拟赛,自我感觉良好(大概是这套题比较简单) T1 名称为“数据结构”,这也太坑了点……233 要维护一个数列(初始为零),支持区间加与查询. 查询的是一个区间中有多少数满足min<=( ...

  7. elasticsearch为什么比mysql快

    mysql关系型数据库索引原理 数据库的索引是B+tree结构 主键是聚合索引 其他索引是非聚合索引,先从非聚合索引找,见下图 elasticsearch倒排索引原理 两者对比 对于倒排索引,要分两种 ...

  8. 创建Account控制器 安全性与收尾工作 精通ASP-NET-MVC-5-弗瑞曼

  9. NOI2.6 8782: 乘积最大

    描述 今年是国际数学联盟确定的"2000--世界数学年",又恰逢我国著名数学家华罗庚先生诞辰90周年.在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好 ...

  10. STM32学习笔记:基础例子

    本例子代码参考了STM32库开发实战指南中的代码,由于使用的板子是尚学STM32F103ZET6,为了配合板上已有资源,也参考了其配套代码.为了便于书写文本,我尽量将代码都写到了一个文件中,这种方式是 ...