方法1: 使用回调函数
- 在app.js中:可以在修改
globalData
后执行一个回调函数,这个回调函数可以是页面传递给app的一个更新函数。 // app.js App({ globalData: { someData: '', }, setSomeData(newData, callback) { this.globalData.someData = newData; if (typeof callback === 'function') { callback(); } }, })
在子页面中:在需要的地方调用
appInstance.setSomeData
并传递一个回调函数// pages/index/index.js Page({ onLoad() { const appInstance = getApp(); appInstance.setSomeData('new value', () => { this.setData({ localData: appInstance.globalData.someData, }); }); }, })
方法2: 使用事件总线
创建一个事件总线(EventBus),在
app.js
中触发事件,在子页面中监听这个事件。- 事件总线(bus.js)