当前位置: 首页 > news >正文

苍穹外卖-购物车 前端修改(小程序主页与购物车模块显示不一致)

本人在写完购物车模块进行测试时,发现如下问题:

有时多次点击新增菜品或减少菜品时,出现小程序主页与购物车模块显示菜品数量不一致的情况。

有时连续点击后,数据库中已经增加2个单位,但红圈内数字只增加1,待下次点击后才会更新正常。

经过分析后认为是前端缺少更新逻辑,遂使用伟大的cursor进行分析,最终找到问题所在。 其实也就是加一行代码。

明白,我给你最小改动的“手动修改步骤”,你改这一处就能同步数量,不需要改其他地方。

  • 打开前端文件:common/vendor.js
  • 在函数 getTableOrderDishListes 的成功回调里,_this10.computOrderInfo(); 下一行新增一行 _this10.setOrderNum();

你可以先用搜索定位:

  • 先搜 getTableOrderDishListes
  • 再在这个函数里找到 getShoppingCartList({}).then(function (res) { ... _this10.computOrderInfo(); ... })

当前代码位置大致长这样(只看结构,不用管中文注释乱码):

(0, _api.getShoppingCartList)({}).then(function (res) {if (res.code === 1) {_this10.initdishListMut(res.data);console.log(res.data);_this10.computOrderInfo();}}).catch(function (err) {});


把它改成这样(只新增一行,注意必须是 _this10.setOrderNum();,不要写成 

this.setOrderNum()):(0, _api.getShoppingCartList)({}).then(function (res) {if (res.code === 1) {_this10.initdishListMut(res.data);console.log(res.data);_this10.computOrderInfo();_this10.setOrderNum();}}).catch(function (err) {});

注意事项:

  • 不要整体“格式化文件”或改变文件编码,直接就地插入这一行即可,避免再次出现乱码。
  • 这是构建后的文件,注释可能是乱码,没关系,不影响运行。只改这一个调用即可。

假设你的代码逻辑如下:

getShoppingCartList({}).then(function (res) {// 其他代码_this10.computOrderInfo(); // 计算订单信息// 其他代码
});

在这个逻辑中:

  • getShoppingCartList({}):从后端获取购物车列表。

  • _this10.computOrderInfo();:计算订单信息,比如总价、数量等。

但是,仅仅计算这些信息是不够的,还需要将这些信息同步到界面上。这就是 _this10.setOrderNum(); 的作用。

如果你不调用 _this10.setOrderNum();,界面可能不会更新,导致用户看到的订单数量是旧的。通过在 _this10.computOrderInfo(); 后面添加 _this10.setOrderNum();,你可以确保在计算订单信息后,界面能够立即更新显示的订单数量。

http://www.dtcms.com/a/491212.html

相关文章:

  • 聊聊 Unity(小白专享、C# 小程序 之 小算盘、计算器)
  • 江苏金安建设公司网站在线设计平台官网
  • 专业网站建设公司哪里济南兴田德润什么活动电子商务网站的整个建设流程
  • 【2025年湖南省赛misc复盘】
  • 北京建设教育协会官方网站做产品推广得网站
  • 牙刮匙与牙周治疗疗效的相关性分析
  • 三星XR头显发布会正式敲定,苹果/Meta/微美全息竞逐AR底层核心卡位“军备竞赛”
  • 【C++进阶系列】:类型转换和IO流
  • 卡板技术支持 东莞网站建设动态设计是什么意思
  • 宠物服务平台(程序+文档)
  • Maven再次认识
  • 【STM32项目开源】基于STM32的智能厨房环境监控系统
  • 策略模式详情
  • 省级网站 开发建设 资质企业员工培训课程
  • VS Code settings.json配置(终端篇)
  • 好看的静态网站网页制作设计教程
  • Spring Boot API文档与自动化测试详解
  • 哈尔滨龙彩做网站多少钱做网站怎么样引流
  • Redis实战篇---添加缓存(店铺类型添加缓存需求)
  • 泸州百拓网站建设英文网站数据库如何建设
  • 河北电子商务网站建设互联网营销策略有哪些
  • 苏州专业网站设计制作公司湛江企业网站怎么建设
  • Linux Docker部署Dify使用shell脚本关闭和开启服务
  • 四川省建设信息网站从点点博客搬家到wordpress
  • 国家变电站声纹监测设备需求总结
  • Python读取Nacos配置时如何设置命名空间
  • 深入网站开发和运维 pdf网站开发文本编辑器
  • ros2—交叉编译ros bridge自定义消息
  • 修复ubuntu22.04检测不到mt7922蓝牙问题
  • C#共用体