添加购物车了逻辑

state: {//购物车列表的数据shopcar: []},
mutations: {add(state, value) {// 声明一个变量flag=false  如果是这个变量的值为false  代表购物车中有没有这个商品let flag = false//循环购物列表的数据state.shopcar.forEach(item => {//判断如果列表数据的id等于传参到的idif (item._id == value._id) {flag = trueitem.num++}})//往购物车中添加数据 如果 已经存在就 让num++if (flag == false) {//如果flag是false  那么这个数据第一次加购物车 添加属性 数量是1value.num = 1// 添加status属性,用于复选框的状态value.status = false//在 vue2中如果本来没有这个字段 我们想要新添加一个字段 //如果直接val.num这样给一个字段的话 这个字段不是响应式 //所以在vue2的时候用set新添加字段   Vue.set(val, "num", 1);// vue3 中升级了 普通的添加  val.num = 1; 也是响应式的// Vue.set(value, "num", 1)//向购物车数据添加state.shopcar.push(value)//当这个数据是第一次添加,全选框变成falsestate.checked = false}//如果不存在 就往里面push 并且给一个初始的num值为1}
}

全选反选逻辑

state: {//这个是全选的状态,用于v-module绑定checkall:false},
//change是当单选框发生改变是触发
change(state){//定义一个res 用every来筛选//every是每一个元素都符合条件才返回true,否则返回false。let res = state.shopcar.every((item)=>{return item.status == true})//如果res返回的是true ,checkall的值变成true//如果res返回的是false,checkall的值变成falseif(res){state.checkall= true} else{state.checkall = false}},//全选时间发生改变时checkall(state){  //先判断checkall的值是否等于true 如果是 循环所有数据,让他们的status都变成true//如果是checkall的值是否等于false 循环所有数据,让他们的status都变成falseif (state.checkall == true) {state.shopcar.forEach((item) => {item.status = true;});} else {state.shopcar.forEach((item) => {item.status = false;});}},

选中删除逻辑

//删除选中数据
clear(state){//筛选所有数据,条件满足的重新返回给shopcer//返回数据是false的数据,false就是没选中的数据//filter筛选数组所有的项-返回满足条件的元素, 会全部遍历一遍state.shopcar = state.shopcar.filter((item) => {return item.status == false})//删除完之后让checkall的值变回falsestate.checked = false}

数量的加减逻辑

    //数量增加  需要发送数据的idjia(state,id){//先循环一遍数据state.shopcar.forEach(item=>{//如果item的id和接受的id一样 就让数据里面的num++if(item._id == id){item.num++}})},//数量增加  需要发送数据的idjian(state,id){ //先循环一遍数据state.shopcar.forEach(item=>{//如果item的id和接受的id一样 就让数据里面的num--if(item._id == id){//判断item.num的数量是否小于等于1 如果小于等于1 就return 不会执行下面的属性if(item.num<=1){alert('数量最低一件')return}item.num--}})},

总数量,总价格逻辑

计算东西需要在计算属性下代码 getters

getters: {//计算价格allPrice(state) {//先定义一个变量let price = 0;//循环所有数据 state.shopcar.forEach((item) => {//如果数据的status 等于trueif (item.status == true) {//定义的数据+= 价格*数量price += item.price * item.num;}});//返回给allPricereturn price;},//计算数量allNum(state){//定义一个变量let num = 0;//循环所有数据state.shopcar.forEach((item) => {//如果数据的status 等于trueif (item.status == true) {//变量的数据+=item数据的数量num += item.num;}});//返回给allNumreturn num}},

Vue3 购物车逻辑相关推荐

  1. vue3购物车(全选,反选,数量计算)

    1.首先,你需要准备一个文件夹,目录内容如下 2.其次,css中创建一个style.css,内容如下 * {margin: 0;padding: 0;box-sizing: border-box; } ...

  2. 【商城购物车】购物车逻辑

    转载于:https://www.cnblogs.com/xuzhengzong/p/8746677.html

  3. redis持久化和购物车实现逻辑

    一.RDB(快照)持久化:保存某个时间点的全量数据快照 redis.conf save 60 1 代表Redis在60秒内写入一条数据那么进行快照 stop-writes-on-basave-erro ...

  4. 购物车及下单的逻辑知识点

    目录 添加查询删除购物车逻辑及其代码 难点-代码复杂下单功能 项目基于spring boot,同样都是需要mvc三层架构+实体bean类. 在这先抛出几个问题.如何添加购物车,如何查询购物车,如何删除 ...

  5. 小程序购物车的逻辑,写的一个假数据

    //Page Object 小程序的购物车逻辑 Page({ data: { cartItems: [], hasList: false,//列表是否有数据 total: 0, checkAll: t ...

  6. 美多商城之购物车(购物车管理3)

    2.5 全选购物车 提示:在购物车页面修改购物车使用局部刷新的效果. 2.5.1. 全选购物车接口设计和定义 1.请求方式 选项 方案 请求方法 PUT 请求地址 /carts/selection/ ...

  7. MVC在基控制器中实现处理Session的逻辑

    当需要跨页面共享信息的时候,Session是首当其冲的选择,最典型的例子就是:在处理登录和购物车逻辑的时候需要用到Session.在MVC中,可以把处理Session的逻辑放在一个泛型基控制器中,但需 ...

  8. 云炬Android开发笔记 13购物车,订单,支付功能开发(包含支付宝支付和微信支付)

    阅读目录 1.购物车UI编写 1.1 购物车布局  1.2 recycleView中的item的布局 2. 购物车数据结构分析.解析与转化 2.1 解析的数据 2.2 数据的转化 2.3 数据适配器的 ...

  9. session实现购物车

    1.是什么? session 可以存储会话级变量,基于其实现购物车: 2.为什么? session是会话级变量,可以吧多次请求的数据串联起来,放到会话里: 3.怎么做? [荔枝]转自 张孝祥 登录页面 ...

最新文章

  1. 你有哪些deep learning(rnn、cnn)调参的经验?
  2. Java 常用API的运用,效率及技巧
  3. IntelliJ Idea工具使用
  4. Android在Context详细解释 ---- 你不知道Context
  5. Python--第2次平时作业
  6. 【模板】EK求最大流、dinic求最大流
  7. php curl https_PHP FFI:一种全新的PHP扩展方式
  8. Android 基础知识 -- Linux环境搭建
  9. 9--Rails数据交互1
  10. Qt 多语言切换——Qt语言家
  11. 从零搭建Spring Boot脚手架:手写Mybatis通用Mapper4
  12. Steam 网络联机配置代码
  13. Maven项目缺少Maven Dependencies新的解决方法
  14. 蓝桥杯训练题1427: [蓝桥杯][2013年第四届真题]买不到的数目【筛选符合题目的数字。有点类似筛素数】
  15. socket接口技术和相关函数(socket,bind,listen,accept)
  16. tomcat出现“localhost拒绝了我们的请求”问题
  17. 安卓手机文件系统 roots recovery bootimg
  18. 百度之星 2015资格赛 列变位法解密【字符串】
  19. 转:阴影锥原理与展望—真实的游戏效果的实现
  20. Northwood的怒吼——记老奔四安装黑苹果OS_X_10.4.11

热门文章

  1. 宝宝发育的各个阶段的敏感期和关键期
  2. 【视频】深入浅出servlet现场教学系列之一
  3. 在 IDEA 中使用 Debug,简直太爽了。详细图文,博主制作了小视频教你如何使用 Debug
  4. 教你如何搭建人事OA-薪资管理系统,demo可分享
  5. 如何解决This application has no explicit mapping for /error, so you are seeing this as a fallback. 这个问题
  6. 计算机英语是啥意思啊,电脑上的计算器的各个英文按钮是什么意思?
  7. 为全面助力青少年编程教育普及,推出花瓣少儿编程
  8. Java的I/O类库的基本架构
  9. 搞一个远程服务器,环境一步步的搭建之一 远程桌面登录
  10. ARM 处理器 MIPS/DMIPS/MFLOPS