收藏
回答

wx.navigateTo传送数据的问题?

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:


回答关注问题邀请回答
收藏

4 个回答

  • 老张
    老张
    2020-04-15

    你确定caption有值?

    2020-04-15
    有用
    回复 1
    • 已注销
      已注销
      2020-04-15
      当然有,这个问题昨天已经解决了,感谢各位的帮助
      2020-04-15
      回复
  • 微盟
    微盟
    2020-04-14
    可以用这个类实现
    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
        }
    }
    
    2020-04-14
    有用
    回复
  • 寒轩
    寒轩
    2020-04-14

    用getCurrentPages(),可以找到页面栈里的所有页面。找到上一级页面的指针,直接操作,随便设置。

    2020-04-14
    有用
    回复 1
    • 已注销
      已注销
      2020-04-14
      好的,我试一下,谢谢大佬
      2020-04-14
      回复
  • Zzx
    Zzx
    发表于移动端
    2020-04-14
    用storage
    2020-04-14
    有用
    回复 2
    • 已注销
      已注销
      2020-04-14
      谢谢大佬
      2020-04-14
      回复
    • Zzx
      Zzx
      2020-04-14回复已注销
      同步storage解决一切数据传输……就是有点low
      2020-04-14
      回复
登录 后发表内容
问题标签