小程序修改非当前页面(父页面)渲染状态
在Vue等框架中,存在Vuex等全局状态管理的机制,在小程序中目前没有对应的办法
那么如何做到在一个页面中触发另一个页面修改状态呢?
例如:
1. 从页面A 跳转 页面B
2. 在页面B 操作,同时需要 更新 页面A的状态
办法:
可通过 getcurrentpages() 获取当前的页面栈
该方法返回数组,数组成员是页面对象
var pages = getCurrentPages(); //拿到父页面,调用其方法 pages[pages.length - 2].method()
父页面会执行方法,但不会即使更新状态,解决办法是将需要修改的值暂存起来,在返回父页面时在onShow中刷新一下