全局事件共享
什么是全局数据共享
全局数据共享(又叫做:状态管理)是为了解决组件之间数据共享的问题。
开发中常用的全局数据共享方案有:Vuex、Redux、MobX 等。
小程序中的全局数据共享方案
在小程序中,可使用 mobx-miniprogram 配合 mobx-miniprogram-bindings实现全局数据共享。其中:
- mobx-miniprogram 用来创建 Store 实例对象
- mobx-miniprogram-bindings 用来把 Store 中的共享数据或方法,绑定到组件或页面中使用
MobX
安装 MobX 相关的包
在项目中运行如下的命令,安装 MobX 相关的包
npm i --save mobx-miniprogram@4.13.2 mobx-miniprogram-bindings@1.2.1
注意:MobX 相关的包安装完毕之后,记得删除 miniprogram_npm 目录后,重新构建 npm。
创建 MobX 的 Store 实例
// 在这个JS文件中,专门来创建 Store 的实例对象
// 按需导入包
import {
action, observable } from 'mobx-miniprogram'
// 返回值就是 store 的实例
export const store = observable({
// 需要共享的数据直接写在配置项里面就行
numA: 1,
numB: 2,
// 定义计算属性 get 表示是只读的 sum 是计算属性的名字
get sum() {
return this.numA + this.numB
},
// 修改 store 中的数据,actions方法
updateNumA: action(function (step) {
this.numA += step