转自: 霍莉雪特 https://www.cnblogs.com/guxin/p/7658542.html
问题:使用wx.navigator打开新页面时可以带参,但如果要wx.navegateBack回到上一级页面,该如何传参。
方法一:
将数据保存到app.js文件中。因为该文件中的属性是全局的,可以在任意Page页面中获取到app.js中的数据。
但是如果所有全局变量都放到app.js中,会导致该文件很臃肿。
方法二:
使用getCurrentPages(),找到上一级页面的Page实例,再通过setData来直接给上一级页面的data设置数据,实现传参!
Page({
data: {
},
// 其他省略。。。
// 输入框失去焦点的回调,添加条目
addItem: function (event){
console.log("添加条目!");
wx.navigateBack();
// 往上一级页面传参
var pages = getCurrentPages();
var currPage = pages[pages.length - 1]; // 当前页面
var prevPage = pages[pages.length - 2]; // 上一级页面
// 直接调用上一级页面Page对象,存储数据到上一级页面中
var str = event.detail.value;
prevPage.setData({
'addItemContent': str,
});
},
})