微信小程序购物车模块(缓存相关知识点)

1.前言:
本购物车模块不使用数据库来实现,将以小程序内置的本地存储模拟实现

2.wxml:
先在加入购物车模块增加点击事件

 <view class="bottom_cart"bindtap="handleCartAdd">加入购物车</view>

3.js:

handleCartAdd(){let cart=wx.getStorageSync('cartKey')||[];//第一次可能没有缓存数据,则设置cart为空数组let index=cart.findIndex(v=>v.goodsInfo===this.goodsInfo.goods_id)if(index==-1){//缓存不存在这个商品,未加入过购物车this.goodsInfo.num=1;//新增num为1cart.push(this.goodsInfo);//在cart这个容器中放入本商品的数据}else{//已经加入过购物车,则index为缓存中的本商品的索引cart[index].num++;}wx.setStorageSync('cartKey', cart);//将cart中的数据放回缓存中wx.showToast({title: '加入成功',icon:'success',mask:'true'})}

基本思路:
先定义变量cart来从缓存中寻找‘cartkey’这个缓存数据,若没有则将空数组赋值给cart,接着通过findIndex()方法寻找本商品对应的缓存区中的索引,若能找到,说明本商品之前缓存过,则直接将此索引对应的缓存区的数据的num值++。若找不到则索引返回-1,则将本商品的goodsInfo新增num数据并++,接着改变后的goodsInfo放进cart数组中,最后将cart数组放入key值为‘cartkey’的缓存区中。

findIndex()用法:
遍历数组中值,返回想要的值组成一个新数组,若这个新数组的值和自己点击的当前值有一样则返回一样的值的那个索引,若不存在则返回-1

效果图:
点击加入购物车后出现“加入成功”动画

缓存区出现key为cartkey的新数据,里面存放着本商品的goodsInfo信息

微信小程序购物车模块(缓存相关知识点)相关推荐

  1. 微信小程序调试webview_微信小程序内嵌webview相关知识点整理

    前言 随着微信小程序的广泛应用,越来越多的商家选择将营销阵营选择迁移到了小程序中,但受其小程序体积限制的影响,不能够完全满足商户的要求,应运而生的web-view组件很好的解决的这一问题.一方面内嵌w ...

  2. 原生微信小程序购物车

    原生微信小程序购物车!! 效果: html: <view style="background-color: #eeeeee;height: 100vh;"><vi ...

  3. 微信小程序购物车功能

    微信小程序购物车效果 购物车是一个比较简单的小功能~ 购物车功能主要运用了微信小程序的缓存机制,在商品页面将需要添加的数据同步传入缓存中,然后在购物页面通过同步方法拿到对应的数据,最后在页面上进行渲染 ...

  4. 微信小程序购物车 数量加减功能

    微信小程序购物车 数量加减功能 wxml <!-- 主容器 --> <view class="stepper"> <!-- 减号 --> < ...

  5. 微信小程序蓝牙模块BLE开发说明基础知识

    微信小程序蓝牙模块说明 一.简介 微信小程序作为轻量级应用的载体,确实方便了很多的应用场景.传统的产品如果要和手机互联互通,那么必须要开发两套APP,即IOS和安卓.十分的麻烦和成本巨高.但是微信小程 ...

  6. “完美”解决微信小程序购物车抛物动画,在连续点击时出现计算错误问题,定时器停不下来。

    "完美"解决微信小程序购物车抛物动画,在连续点击时出现计算错误问题,定时器停不下来. 参考文章: (1)"完美"解决微信小程序购物车抛物动画,在连续点击时出现计 ...

  7. 微信小程序全选,微信小程序checkbox,微信小程序购物车

    微信小程序,这里实现微信小程序checkbox,有需要此功能的朋友可以参考下. 摘要: 加减商品数量,汇总价格,全选与全不选 设计思路: 一.从网络上传入以下Json数据格式的数组  1.标题titl ...

  8. 微信小程序开发数据缓存基础知识辨析以及运用实例

    微信小程序开发数据缓存基础知识辨析以及运用实例 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的 ...

  9. 微信小程序的项目缓存路径

    每次打开微信小程序 都会默认缓存一份项目,它的路径如下: C:\Users\Administrator\AppData\Local\微信web开发者工具\User Data C:\Users\Admi ...

最新文章

  1. C# Windows基础拾遗01—线条绘制篇
  2. Padding Oracle Attack填充提示攻击-渗透测试
  3. Ajax系统学习总结
  4. mediastreamer2 的简介
  5. LeetCode 713. 乘积小于K的子数组(滑动窗口)
  6. 利用Python写俄罗斯方块游戏
  7. 20道做完信心嫉妒膨胀的前端测试题
  8. 《构建高可用Linux服务器》答读者疑问
  9. Zabbix 3.0入门到企业实战阅读目录
  10. 【OpenCV】基本数据类型
  11. 算法导论 中+英 PDF分享 附书单
  12. 【mybatis plus源码解析】(三)自定义SQL注入器,教你如何自定义扩展BaseMapper接口方法,实现更多查询
  13. 工程师“魔改” AirPods Pro 接口,苹果“妥协”将成大势所趋?
  14. 融云及时通讯 加入群聊
  15. 高通 android 7.0 插入蓝牙耳机,声音变的最大!
  16. SpringBoot配置文件(1)
  17. ROS学习笔记(十二)ROS noetic ubuntu20.04 版本 rosdep init,rosdep update 问题解决方法
  18. 场效应管及其放大电路
  19. word 2007 中的 aurora 插件配置
  20. 从扎克伯格的中国之行说起

热门文章

  1. 面向Java开发者的ChatGPT提示词工程(4)
  2. 计算机软件水平考试的信息系统和信息服务主要考核的内容
  3. 强势解锁 GitHub 新姿势,一键实现在线编写代码!
  4. 认证服务---OAuth2.0基本介绍,微博登录测试【上篇】
  5. 为什么停更ROS2机器人课程-2023-
  6. juicer.js 使用 示例
  7. Linus 又开怼:有时候标准就是一坨屎!
  8. Gridview图片正方形
  9. Github下载慢解决了!「100%有效」
  10. Windows系统远程服务