微信小程序返回上一页面并更新的数据
微信小程序开发过程中经常把当前页面数据传递给上一个页面,wx.navigateBack()返回上一页,无法传递数据,页面视图没有响应。其中一个办法就是巧妙利用页面栈。
getCurrentPages() 函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。
重点:在当前页面拿到上一个页面的实例对象,然后调用该对象的方法完成数据传递。
上一个页面
Page({data: {name: ''},...//定义更新name方法changeData: function(name){this.setData({name: name})}
})
当前页面:在文本框输入姓名,点击按钮后更新上一个的name
Page({data{value:''},//按钮点击回调函数change: function () {//获取页面栈let pages = getCurrentPages();//检查页面栈//console.log(pages);//判断页面栈中页面的数量是否有跳转(可以省去判断)if(pages.length > 1){//获取上一个页面实例对象let prePage = pages[pages.length - 2];//调用上一个页面实例对象的方法prePage.changeData(value);//返回上一个页面wx.navigateBack();}}
})
注意:页面跳转需要使用wx.navigateTo跳转。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
