小程序
小游戏
企业微信
微信支付
扫描小程序码分享
页面传值回来,onshow中this.setData()方法后页面空白,打印出数据已经传过来了
一直没找到原因,或者有什么好的返回页面并传数据更改界面显示的方法,新手小白求赐教
4 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
如果是传值给上一个页面的话,第二张图直接
prevPage.setData({
player_list:player_list
})
就行了,prevPage.setData就是和在当前页面的this.setData效果一样的,直接设置就行没不用再onShow再次赋值
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
不应该是mydata.player_list吗?传值可以临时存到app全局变量里或storage里
正常做法是事件,onshow的页面监听一个事件,返回的页面触发事件,并带上参数,如果有用麻烦点有用和赞,谢谢。
相关代码
//util.js function eventPubsbu() { var all = {}; var $on = function (name, handler) { name = name.split(',').filter(item=>item); name.forEach((name) => { if (!all[name]) all[name] = []; all[name].push(handler) }); } var $off = function (name, handler) { name = name.split(',').filter(item=>item); name.forEach((name) => { if (!all[name]) return; all[name] = all[name].filter(item => item != handler); if (all[name] == '') delete all[name]; }); } var $emit = function (name, ...params) { name = name.split(',').filter(item=>item); name.forEach((name) => { if (!all[name]) return; all[name].forEach((item) => { item.apply(undefined, params); }) }); } return { $emit, $off, $on, } } module.exports = { eventPubsbu, } //app.js onLaunch: function (options) { var t = Util.eventPubsbu(); Object.assign(this, t); } //注册事件 app.$on('login,changeQY', this.getName); //触发事件 app.$emit('login',参数)
页面传值:
1、使用wx.setStorageSync、wx.getStorageSync,a页面wx.setStorageSync,b页面wx.getStorageSync
2、使用app.globalData,a页面app.globalData.xxx=***,b页面var xxx = app.globalData.xxx
3、使用wx.navigateTo的events通信接口进行页面传值
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
如果是传值给上一个页面的话,第二张图直接
prevPage.setData({
player_list:player_list
})
就行了,prevPage.setData就是和在当前页面的this.setData效果一样的,直接设置就行没不用再onShow再次赋值
不应该是mydata.player_list吗?传值可以临时存到app全局变量里或storage里
正常做法是事件,onshow的页面监听一个事件,返回的页面触发事件,并带上参数,如果有用麻烦点有用和赞,谢谢。
相关代码
//util.js function eventPubsbu() { var all = {}; var $on = function (name, handler) { name = name.split(',').filter(item=>item); name.forEach((name) => { if (!all[name]) all[name] = []; all[name].push(handler) }); } var $off = function (name, handler) { name = name.split(',').filter(item=>item); name.forEach((name) => { if (!all[name]) return; all[name] = all[name].filter(item => item != handler); if (all[name] == '') delete all[name]; }); } var $emit = function (name, ...params) { name = name.split(',').filter(item=>item); name.forEach((name) => { if (!all[name]) return; all[name].forEach((item) => { item.apply(undefined, params); }) }); } return { $emit, $off, $on, } } module.exports = { eventPubsbu, } //app.js onLaunch: function (options) { var t = Util.eventPubsbu(); Object.assign(this, t); } //注册事件 app.$on('login,changeQY', this.getName); //触发事件 app.$emit('login',参数)
页面传值:
1、使用wx.setStorageSync、wx.getStorageSync,a页面wx.setStorageSync,b页面wx.getStorageSync
2、使用app.globalData,a页面app.globalData.xxx=***,b页面var xxx = app.globalData.xxx
3、使用wx.navigateTo的events通信接口进行页面传值