微信小程序 “万利商城”实战之十一: 商品列表页跳转到详细页的实现
商品列表页点击商品图片时可以查看商品详情,我们先在pages/index这个文件夹下增加一个page,
名称叫productDetail, 建好后index文件夹下的文件结构是这样的:
然后我们修改index.wxml这个文件, 在<image>这个控件上加上tap事件,代码如下 :
1 <view> 2 <image class="image1" src="{{item.imageUrl}}" 3 data-productId="{{item.productId}}" bindtap="tapDetail"></image> 4 </view>
bindtap="tapDetail"是点击图片时要执行的函数,
data-productId="{{item.productId}}" 是传递给函数的参数,参数名称为productId
data-productId="{{item.productId}}" 是传递给函数的参数,参数名称为productId
在index.wxml文件加上事件代码就可以了,如下:
1 tapDetail: function (options) { 2 let productId = options.currentTarget.dataset.productid; 3 4 wx.navigateTo({ 5 url: '../index/productDetail?productid='+ productId, 6 }) 7 },
这个函数很简单, 先用let productId = options.currentTarget.dataset.productId;获取页面传递过来的productId ,
然后调用小程序提供的页面跳转函数 wx.navigateTo(), 传入页面名称和参数就可以了。
接下来我们完善productDetail.wxml这个页面。
1 <view class="container"> 2 <image class="image1" src="{{product.imageUrl}}"></image> 3 <text>{{product.productName}}</text> 4 <text>{{product.price}}</text> 5 <text>{{product.originalPrice}}</text> 6 </view>
productDetail.js中的代码如下 :
1 data: { 2 product:{} //定义一个对象用于传值到productDetail.wxml页面, 用来显示商品信息 3 }, 4 5 initProduct:function(productId) 6 { 7 console.log("productId:"+productId); //调试打印语句 8 var _this=this; 9 wx.request({ //调用API从服务器上获取当前product信息 10 url: 'http://www.tm.com/webapi/product', 11 data:{'productId':productId}, 12 method:'GET', 13 success:function(res){ 14 //var productObj=res.data; 15 var productObj={
16 'productId':111,'productName':'女装T恤简洁11','price':12.9,'originalPrice':22.9,'imageUrl':'../../images/product11.jpg', 17 'inShoppingCart':0,'productQty':11}; 18 19 _this.setData({product:productObj}); //从服务器上获取的productObj值通过setData()函数设置到页面上显示出来。 20 } 21 }) 22 }, 23 24 25 /** 26 * 生命周期函数--监听页面加载 27 */ 28 onLoad: function (options) { 29 let productId = options.productid; //接收上一个页面传递过来的参数 30 console.log(productId); //打印输出,调试用。 31 this.initProduct(productId); 调用函数用来初始化产品信息。 32 },
分类:
微信小程序系列
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人