1.通过app.js进行传参
App({
/**
* 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)
*/
onLaunch: function () {
},
/**
* 当小程序启动,或从后台进入前台显示,会触发 onShow
*/
onShow: function (options) {
},
/**
* 当小程序从前台进入后台,会触发 onHide
*/
onHide: function () {
},
/**
* 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息
*/
onError: function (msg) {
},
globalData: {
userInfo: null
}
})
引入页面使用
//获取应用实例
const app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
console.log(app.globalData.userInfo)
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
2.路由进行传参
//少数参数进行传递
let id='222',name='张三';
wx.navigateTo({
url: '/page/text/test?id=' +id+'&name='+name
})
//在page/test/text页面
onLoad: function(options) {
console.log(options) //{id:'222',name:'张三'}
},
//对象传递
let obj={
name:'lis',
age:18
}
let parmsobj=JSON.stringify(obj)
let urlobj=encodeURIComponent(parmsobj) //参数避免有特殊字符例如 ? &之类
wx.navigateTo({
url: '/page/test/text?urlobj=' urlobj
})
//在page/test/text页面
onLoad: function(options) {
let urlobj=decodeURIComponent(options.urlobj)
let parmsobj=JSON.parse(obj)
console.log(parmsobj) // {name:'lis',age:18}
},
3.利用内存进行页面传递
wx.setStorage({ //同步存储
key:"key",
data:"value"
})
wx.setStorageSync('key', 'value')//异步步存储
wx.getStorage({ //同步获取存储值
key: 'key',
success (res) {
console.log(res)
}
})
var value = wx.getStorageSync('key') //异步获取存储值
参照微信开发档案:微信开发文档
4.全局进行传递
后续进行中…