A页面跳转到B页面,在B页面的表单中输入caption的值,现在想在B返回A的时候把caption传送给页面A,应该怎么做?我的思路是使用wx.navigateTo跳转到B,B点击确认按钮通过wx.navigateBack返回A,在B的onUnload中发送数据给A,最后得到的结果却是undefined。官方文档和网上大部分资料中都是直接传送的字符串,没有用到data中的数据,所以找了一会资料也没找到该怎么用这个,查到可以通过数据缓存的方式来解决,但是想知道用wx.navigateTo能不能也实现、该怎么实现,谢谢大佬
A页面调用wx.navigateTo:
B页面传送数据:
结果是undefined:
你确定caption有值?
可以用这个类实现 B 页面 wx.navigateBack时 set('key',value) A 页面 通过on方法监听在onload 生命周期中 on('key',function(data){ // data 就是从B页面传递过来的值 }) class Event{ constructor(){ this.callbacks = {} } set(key, value){ if(!key) return if(key in this.callbacks) (this.callbacks[key])(value) } on(key, fn){ if(!key || typeof(fn) != 'function'){ return false } this.callbacks[key] = fn return true } }
用getCurrentPages(),可以找到页面栈里的所有页面。找到上一级页面的指针,直接操作,随便设置。