微信小程序在当前页面修改前一个页面的数据
关键词:页面栈getCurrentPages();
getCurrentPages(),返回一个数组,最后一个是当前页,往上排序依次是进入“当前页”的那个页面。
如下图,当前页是pages/logs/logs,它的前一个页面是pages/main/index。
注意,如果pages/main/index也是从别的页面进来的,那么这个数组的第0位是pages/main/index的进入页,第一位是pages/main/index,第二位是pages/logs/logs。
小编就以上面这个两层目录作为举例。
在pages/main/index的data里面有4个参数(如下图),小编要做的操作是,当去到pages/logs/logs的时候修改canvasHidden为true.
在pages/logs/logs的onload函数里获取页面栈,然后修改这个canvasHidden.
var page=getCurrentPages();
page[0].data.canvasHidden=true
这样pages/main/index里的canvasHidden就被修改了。
如果我们的页面栈不止一层的话,要利用循环,通过页面路径找出要修改的那个页面,然后修改数据。