微信小程序之购物车的交互场景

简介: 微信小程序之购物车的交互场景

前言

JavaScript是小程序编程中的基础语言,JavaScript代码大约占整个小程序项目一半的代码量。全局文件app.js和所有的页面js文件都是由JavaScript来编写的,JavaScript代码主要实现业务逻辑处理和用户交互两方面的作用。

购物车交互场景

说明:

尽管张小龙在2018微信公开课上指出,“小程序不是专门为电商准备的”,但是由于强大的社交属性和微信支付的便捷性,电商成为小程序的重要应用场景。电商小程序中经常要用到购物车是JavaScript在小程序交互场景中的经典应用。

说明2:

由于我们本次案例的重点是逻辑时间的编写,所有页面的样式略有粗糙!

shouye.wxml:

<viewclass="title">案例:</view><viewclass="goods-box"><!-- 商品展示 --><viewclass="q1"><imagesrc="../../images/qqq.jpg"></image></view><viewclass="carts-cion"><viewclass="q2"><!-- 购物车图标 --><van-iconname="shopping-cart-o"size="30px"/><!-- 加入购物车导航 --><viewclass="operation"><textclass="operation-jian"bindtap="jianCount">-</text><textclass="operation-num">数量{{num}}</text><textclass="operation-jia"bindtap="jiaCount">+</text><textbindtap="addCart">加入购物车</text></view></view><!-- 加入购物车 --><textclass="carts-num"wx:if="{{hasCart}}">购物车已有:{{totalNum}}</text></view></view>

shouye.wxss:

.q1{
display: flex;
flex-direction: row;
justify-content: space-around;
}
image{
width: 500rpx;
height: 350rpx;
border-radius: 30rpx;
}
.q2{
border-radius: 30rpx;
height: 100rpx;
background-color: tomato;
margin: 30rpx20%020%;
display: flex;
flex-direction: row;
justify-content: space-around;
}

shouye.js:

// pages/shouye/shouye.jsPage({
/**   * 页面的初始数据   */data: {
num:1,
totalNum:0,
hasCart:false,
  },
jiaCount:function(){
varnum=this.data.num;
num++;
this.setData({
num:num    })
  },
jianCount:function(){
varnum=this.data.num;
num--;
this.setData({
num:num    })
  },
addCart:function(){
constnum=this.data.num;
vartotal=this.data.totalNum;
this.setData({
hasCart:true,
totalNum:num+total    })
wx.showToast({
title:"加入购物车成功!",
duration:3000,
    })
  },
/**   * 生命周期函数--监听页面加载   */onLoad(options) {
  },
/**   * 生命周期函数--监听页面初次渲染完成   */onReady() {
  },
/**   * 生命周期函数--监听页面显示   */onShow() {
  },
/**   * 生命周期函数--监听页面隐藏   */onHide() {
  },
/**   * 生命周期函数--监听页面卸载   */onUnload() {
  },
/**   * 页面相关事件处理函数--监听用户下拉动作   */onPullDownRefresh() {
  },
/**   * 页面上拉触底事件的处理函数   */onReachBottom() {
  },
/**   * 用户点击右上角分享   */onShareAppMessage() {
  }
})

代码讲解:

shouye.wxml文件中"+"和"-"和"加入购物车"三个按钮绑定了点击事件。在shouye.js文件中为"+"按钮定义了事件函数jiaCount(),用于实现当用户点击"+"按钮时商品数量加1.为"-"按钮定义了事件函数jianCount()用于实现当用户点击"-"按钮时商品数量减1.为"加入购物车"按钮定义了事件函数addCart(),用于实现当用户点击"加入购物车"时,一次性向购物车添加num件商品。当用户由加购物车行为,及点击了"加入购物车"按钮时,hasCart被赋值为true,则在购物车图标下方出现"购物车已有{{数量}}"

目录
相关文章
|
6月前
|
存储 小程序 API
【微信小程序】-- uni-app 项目-- 购物车 -- 首页 - 轮播图效果(五十二)
【微信小程序】-- uni-app 项目-- 购物车 -- 首页 - 轮播图效果(五十二)
【微信小程序】-- uni-app 项目-- 购物车 -- 首页 - 轮播图效果(五十二)
|
6月前
|
小程序 开发工具 git
【微信小程序】-- uni-app 项目--- 购物车 -- 配置 tabBar 效果(五十一)
【微信小程序】-- uni-app 项目--- 购物车 -- 配置 tabBar 效果(五十一)
|
5月前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的电竞交互管理系统附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的电竞交互管理系统附带文章和源代码部署视频讲解等
28 1
|
6月前
|
JSON 小程序 JavaScript
实现小程序与SSM后台数据交互
该文介绍了如何实现小程序与SSM后台的数据交互。在Java控制器中,通过`@RequestMapping`注解的`queryShop`方法处理HTTP请求,设置响应头允许跨域并返回JSON格式的商品列表。小程序端使用wx.request进行GET请求,接收到数据后在控制台打印。示例还包括了传递参数的方法和展示的交互效果图片。
43 2
|
6月前
|
小程序
外卖小程序-购物车模块表结构设计和后端代码
外卖小程序-购物车模块表结构设计和后端代码
58 0
|
6月前
|
小程序 JavaScript 前端开发
微信小程序全栈开发中的数据交互与渲染优化
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中的数据交互与渲染优化,旨在提升小程序性能和用户体验。数据交互涉及GET、POST、PUT和DELETE请求,优化措施包括使用HTTPS、数据压缩、缓存及限流。渲染优化则涵盖虚拟DOM、减少DOM操作、组件化和模板使用,以及WXSS样式设计和媒体查询。利用性能监控工具可识别并优化性能瓶颈。开发者应综合运用这些策略,持续优化小程序。
57 0
|
6月前
|
小程序 IDE 开发工具
社区每周丨预授权支付新增线下场景及支付宝小程序开发者大赛启动(9.4-9.8)
社区每周丨预授权支付新增线下场景及支付宝小程序开发者大赛启动(9.4-9.8)
85 11
|
6月前
|
小程序 JavaScript 前端开发
【微信小程序】--WXML & WXSS & JS 逻辑交互介绍(四)
【微信小程序】--WXML & WXSS & JS 逻辑交互介绍(四)
|
6月前
|
前端开发 小程序 JavaScript
小程序页面导航全家桶:navigateTo、redirectTo、switchTab等方法一网打尽,快速掌握不同场景下的最佳应用!
欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣、刚刚开始学习前端的读者们打造的。无论你是初学者还是有一些基础的开发者,我们都会在这里为你提供一个系统而又亲切的学习平台。我们以问答形式更新,为大家呈现精选的前端知识点和最佳实践。通过深入浅出的解释概念,并提供实际案例和练习,让你逐步建立起一个扎实的基础。无论是HTML、CSS、JavaScript还是最新的前端框架和工具,我们都将为你提供丰富的内容和实用技巧,帮助你更好地理解并运用前端开发中的各种技术。
|
6月前
|
小程序 JavaScript 前端开发
点餐小程序实战教程08-购物车功能开发
点餐小程序实战教程08-购物车功能开发