请问微信小程序 为什么二次刷新页面 会导致onload 的options 获取不到?

onLoad: function onLoad(options) {

let goods_id = options.goods_id

let activity_id = options.activity_id

this.setData({

goods_id: goods_id,

activity_id:activity_id

});

},

onShow(){

var that = this;

// util.login().then(result => {

wx.getStorage({

key: 'session_key',

success: function success(res) {

that.assist_bargain_goods_info_fn();

that.assist_bargain_log_list_fn();

}, fail: function fail() {

_util2.default.login();

}

});

},

_util2.default.login(); 这是一个判断有没有登录,没有登录就会请求登录接口的功能,这个登录接口,调用会刷新页面,但是再次触发会导致 onLoad 里的options为undefined 导致我这些goods_id 和 activity_id都出错 接口无法请求

请问微信小程序 为什么二次刷新页面 会导致onload 的options 获取不到?

但是我页面其实参数又都在,不知道怎么去做了 不知道我有没有说清楚


回答:

1.在 onLoad 函数中,把 goods_id 和 activity_id 保存到本地存储:

onLoad: function onLoad(options) {

let goods_id = options.goods_id

let activity_id = options.activity_id

this.setData({

goods_id: goods_id,

activity_id:activity_id

});

wx.setStorage({

key: 'goods_id',

data: goods_id

});

wx.setStorage({

key: 'activity_id',

data: activity_id

});

},

2.在 onShow 函数中,从本地存储中获取 goods_id 和 activity_id:

onShow() {

var that = this;

wx.getStorage({

key: 'goods_id',

success: function (res) {

that.setData({ goods_id: res.data });

}

});

wx.getStorage({

key: 'activity_id',

success: function (res) {

that.setData({ activity_id: res.data });

}

});

wx.getStorage({

key: 'session_key',

success: function success(res) {

that.assist_bargain_goods_info_fn();

that.assist_bargain_log_list_fn();

},

fail: function fail() {

_util2.default.login();

}

});

}


回答:

有点像我早上碰到的情况,但是不知道是不是,试下从开发工具删除掉小程序项目,再打开

以上是 请问微信小程序 为什么二次刷新页面 会导致onload 的options 获取不到? 的全部内容, 来源链接: utcz.com/p/934195.html

回到顶部