⼩程序页⾯传值的⼏种⽅式总结
⼀、storage
wx.setStorage({
key:"key",
data: value
})
通过getStorage回调⽅式获取data值,或者通过wx.getStorageSync(key) 同步获取key对应的data值
⼆、url传值
url传值也是经常都能⽤到的
1、url传递通过字符串拼接传递key=value形式的参数
wx.navigateTo({
url:'/pages/index/index?id=1111111111&...',
})
在跳转后的页⾯的onLoad⽣命周期函数中接受⼀个options参数,可以通过console.log(options.id)获取到url传递的id值
2、url传递对象形式的参数
假设需要传递的参数形式为:{key,value,key2:value2},这时候通过以上⽅式传递在option中打印出来会是⼀个object类型,([object object]) ,并不能真实获取参数。因此需要使⽤JSON.stringify()转化成json字符串再通过以上⽅式将参数传过去。页⾯中获取option的值,需要通过JSON.parse()转化成原本的json格式。
三、页⾯栈传值
js获取json的key和value
⼩程序中wx.navigateBack()⽅法可以返回上级页⾯
var pages =getCurrentPages();// 获取页⾯栈
var Page = pages[pages.length -1];//当前页
var prevPage = pages[pages.length -2];//上⼀个页⾯
通过prevPage.setData({ key: value})可以改变上⼀个页⾯的data内容,key为上⼀个页⾯data中的值,value为需要传递(改变)的值通过wx.navigateBack({delta: 1}) 返回上级页⾯
四、获取、改变app.js中data的值
app.js中可以保存⼀个全局的属性,和storage类似
globalData是⼀个全局属性,⾥⾯声明的data值可以在所有页⾯中使⽤。
使⽤场景,存储⽤户信息、控制页⾯刷新
globalData:{
userInfo:null
}
页⾯中的js需要const app = getApp() ,通过app.globalData.userInfo 获取globalData中userInfo的值,直接赋值即可修改:app.globalData.userInfo= ‘haha’

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。