方法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)