// 第一种:地址栏 ? 后面传值,在detail.js中onLoad生命周期中接收参数
toDetail(e){
var id=10,
title="我是详情页";
wx.navigateTo({
url: '/pages/detail/detail?id=' + id + '&title=' + title,
})
}
// detail.js
onLoad: function (options) {
console.log(options)
},
// 第二种:在app.js中,定义globalData对象,这是全局的
App({
globalData:{
// 这里面写的参数在任何页面都能拿到
name:"吴小明"
}
})
// detail.js定义常量接收app.js
const app = getApp();
// 在onLoad、onReady、onShow生命周期中可以拿到app
Page({
onLoad(){
console.log(app)
this.setName()
},
onReady(){
console.log(app)
},
onShow(){
console.log(app)
},
setName(){
// 如果需要,可以在这里重新设置app.globalData.name的值
var self=this;
self.setData({
name:app.globalData.name
})
}
})
// 第三种方式:利用本地缓存,这种方式最常用。
// wx.setStorageSync("title","111111111")设置值,在需要的页面通过wx.getStorageSync("title")
// 第四种方式:通过 data-xxx 将值传过去
<view bindtap="goDetail" data-productId="{{item._id}}"></view>
把该商品的id传过去,到了详情页再由这个id去请求到相应的数据。
在详情页通过事件对象event拿到传参。
注意:在跳转到详情页时,也可以将这个商品的详细信息传过去,但是如果是秒杀的活动,一秒钟后可能这个商品已经没有了,等到打开详情页的时候还是在列表页的数据,所以这种方法不严谨。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结