小程序修改非当前页面(父页面)渲染状态

在Vue等框架中,存在Vuex等全局状态管理的机制,在小程序中目前没有对应的办法

那么如何做到在一个页面中触发另一个页面修改状态呢?

例如:
1. 从页面A 跳转 页面B

2. 在页面B 操作,同时需要 更新 页面A的状态

办法:

可通过 getcurrentpages() 获取当前的页面栈

该方法返回数组,数组成员是页面对象

var pages = getCurrentPages();
//拿到父页面,调用其方法
pages[pages.length - 2].method()

父页面会执行方法,但不会即使更新状态,解决办法是将需要修改的值暂存起来,在返回父页面时在onShow中刷新一下

posted @ 2019-04-29 11:13  吃饭睡觉打豆豆o  阅读(429)  评论(0编辑  收藏  举报