小程序,子页面向父页面传值

写在前:因为常用,所以记录一下,子级页面向父级页面传值的方法,如,本地存储,路由传值(本地数据)


在父页面中的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')

注,如果有什么错误欢迎指正。

猜你喜欢

转载自blog.csdn.net/ITLISHUANG/article/details/89879688