写在前:因为常用,所以记录一下,子级页面向父级页面传值的方法,如,本地存储,路由传值(本地数据)
在父页面中的data中接收子页面传回来的值
data:{
arr: []
},
//页面显示的时候可以处理子页面返回来的数据
onShow: function() {
console.log(this.data.arr)
},
在子页面中,使用 wx.navigateBack 返回到父级页面(详情wx.navigateBack)的标签
<!-- 点击保存按钮,返回到父级 -->
<button bindtap="setTap" class="keepset">保存设置</button>
在子页面获取当前页面栈,并存储数据;
注意:在父页面中的onShow之后,处理获取的数据,官方提示(详情getCurrentPages())
// 保存设置
setTap: function() {
//let arrs = this.data.checkedarr;
// 存储数据
let pagetotal = getCurrentPages() //所有的路径 数组
let thispage = pagetotal[pagetotal.length - 1] //当前页面
let parpage = pagetotal[pagetotal.length - 2] //父级页面
//父级页面需要有一个arr的数组定义
parpage.setData({
arr: this.data.checkedarr
})
// 返回到父页面
wx.navigateBack({
delta:1,
})
},
本地存储方式
存储数据:wx.setStorageSync(string key, any data) (详情wx.setStorageSync())
weekTap: function() {
// 点击后保存到本地现有数据状态
let weekarr = this.data.weekarr
wx.setStorageSync('week', weekarr)
},
获取数据:any wx.getStorageSync(string key) (详情any wx.getStorageSync(key))
//获取存储的数据 (key)
let weekarr = wx.getStorageSync('week')
删除数据:wx.removeStorageSync(string key) (详情wx.removeStorageSync(key))
//你可以在你获取到数据然后保存到想要保存的页面,在本地数据没有其他作用的时候删除掉数据
wx.removeStorageSync('week')
注,如果有什么错误欢迎指正。