微信开发入门(十一)更新上一页数据

广告:宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取~~~

微信开发入门(十一)更新上一页数据

小程序开发过程中经常有这种需求,需要把当前页面数据传递给上一个页面,但是wx.navigateBack()无法传递数据。

一般的办法是把当前页面数据放入本地缓存,上一个页面再从缓存中取出。

除此之外还有一种办法,巧妙利用页面栈。

getCurrentPages() 函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。

重点就在这里,在当前页面拿到上一个页面的实例对象,然后调用该对象的方法完成数据传递。

页面A

Page({     data: {        name: ''     },     ...     ,     //更新name     changeData: function(name){        this.setData({            name: name                    })                   }})
登录后复制

页面B,假设有一个文本框用于输入姓名,点击返回按钮后更新页面A的name

Page({    //此方法用于文本框输入回调    inputTyping: function (e) {        //获取页面栈        var pages = getCurrentPages();        if(pages.length > 1){            //上一个页面实例对象            var prePage = pages[pages.length - 2];            //关键在这里            prePage.changeData(e.detail.value)        }    }})
登录后复制

这样就可以实现数据传递给上一个页面,要注意页面A必须使用wx.navigateTo跳转到页面B,不能使用wx.redirectTo,这样会关闭上一个页面,导致页面B无法获取上一页Page实例。

【相关推荐】

1. 微信公众号平台源码下载

2. 微信投票源码

3. 微信啦啦外卖2.2.4解密开源版 微信魔方源码

以上就是微信开发入门(十一)更新上一页数据的详细内容,更多请关注9543建站博客其它相关文章!

9543建站博客
一个专注于网站开发、微信开发的技术类纯净博客。
作者头像
admin创始人

肥猫,知名SEO博客站长,14年SEO经验。

上一篇:手把手教你使用小程序创建画布时钟(实例)
下一篇:bootstrap与vue区别

发表评论

关闭广告
关闭广告