概要 微信小程序的globalData是可以存放全局变量,但是不是响应式,所以要用一个文件来监听 一, 响应式文件 在utils下新建一个文件event.js,把下面的代码复制到该文件下 classEvent{on(event,fn,ctx){if(typeof fn!="function"){console.error('fn must be a function')return}this._stores=this._stores||{...
这个还需要考虑页面退出之后 取消订阅的处理
☛小程序制作工具:https://rrx.cn/home#BYzhxcx2 微信小程序的基本构成 微信小程序是一种不需要下...
整个小程序只有一个 App 实例,是全部页面共享的。开发者可以通过 getApp 方法获取到全局唯一的 App 实例,获取App上的数据或调用开发者注册在 App 上的函数。 在app.js 文件中,定义globalData 属性,该属性中存放的数据在每个页面都可以获取和修改。 // 在app.js 中定义全局数...
// other.jsvarappInstance =getApp()console.log(appInstance.globalData)// I am global data 注意: 不要在定义于App() 内的函数中,或调用App前调用getApp() ,使用this就可以拿到 app 实例。 通过getApp() 获取实例之后,不要私自调用生命周期函数。
使用mobx进行全局数据共享和在app.js的globalData定义全局数据有以下区别: 原理不同:mobx是一种状态管理库,它使用观察者模式来实现数据的自动更新和响应式,而globalData是微信小程序提供的全局变量,可以在不同页面中直接访问和修改。 灵活性不同:mobx提供了更灵活的状态管理方式,可以将数据和业务逻辑进行解耦,实现更细...
console.log(appInstance.globalData) // I am global data 1. 2. 3. 注意: 不要在定义于 App() 内的函数中,或调用 App 前调用 getApp() ,使用 this 就可以拿到 app 实例。 通过getApp() 获取实例之后,不要私自调用生命周期函数。 1. 2. ...
globalDataKey String:这个属性表示需要全局状态的属性名,这个全局状态将于component的本地状态绑定。 localDataKey String:这个属性表示本地状态的属性名,这个本地状态将于全局状态绑定。 // 绑定全局状态 this.getGlobalData({ globalDataKey: 'localtime', localDataKey: 'localtimeData' }); ...
使用全局变量实现数据传递,在 app.js 文件中定义全局变量 globalData, 将需要存储的信息存放在里面: //app.jsApp({//全局变量globalData: { userInfo:null} })//直接使用 getApp() 拿到存储的信息 使用wx.navigateTo 与 wx.redirectTo 的时候,可以将部分数据放在 url 里面,并在新页面 onLoad 的时候初始化 ...
app.globalData.XX = xx就可以,setData不行,app对象没这个方法 有用1 回复 彭世瑜 2021-07-08 怎么做到响应式呢? 有用 回复 葛棠 2019-01-10 直接赋值修改即可 有用 回复 Samphay 2017-06-20 如果app这个变量指的是getApp(),即app.js,那么是可以通过=去赋值的,如果app是page里面的this,那么就需要使用...