首先需要明确一点,微信小程序的 navigator 组件是用来导航跳转到其他页面的,而传递参数需要借助小程序的事件系统和路径解析规则来实现。
一、使用 query 参数
1.在跳转页面时设置 query 参数。例如:
wx.navigateTo({
url: '/pages/detail/detail?id=123&name=apple'
})
2.在接收页面中,可以通过 onLoad
方法中的 options
参数来获取传递的参数。例如:
Page({
onLoad: function (options) {
console.log(options.id) // 输出 123
console.log(options.name) // 输出 apple
}
})
二、使用页面栈
1.在跳转页面时使用 wx.setStorageSync
方法设置数据。例如:
wx.setStorageSync('key', {
id: 123,
name: 'apple'
})
wx.navigateTo({
url: '/pages/detail/detail'
})
2.在接收页面中,通过 wx.getStorageSync
方法获取传递的数据。例如:
Page({
onLoad: function () {
var data = wx.getStorageSync('key')
console.log(data.id) // 输出 123
console.log(data.name) // 输出 apple
}
})
需要注意的是,每个页面栈最多可存储 10MB 数据,超过限制会报错。而且由于小程序使用的是限制域的机制,页面栈只适用于同一级页面之间传递数据,不能跨级传递数据。
总结:
传递参数是小程序中比较常见的需求,可以使用 query 参数和页面栈来传递数据。但需要注意的是,传递参数时需要遵循小程序的事件系统和路径解析规则,不同的传递方式会有不同的应用场景和注意事项。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:微信小程序 navigator 跳转url传递参数 - Python技术站