微信小程序 全局共享数据 mobx

前言

        全局数据共享(又叫做:状态管理)是为了解决组件之间数据共享的问题。开发中常用的全局数据共享方案有:Vuex、Redux、MobX 等。

一. 安装

npm install --save mobx-miniprogram@4.13.2 mobx-miniprogram-bindings@2.1.5

安装完之后要重新构建  工具---->构建npm

二. 创建store文件夹以及store.js

import { observable, action } from 'mobx-miniprogram';

// observable 的返回值就是 store 对象
export const store = observable({
    // 需要挂载的数据 -- 数据字段
    numA: 1,
    // 计算属性 -- get为修饰符
    // get sum() {
    //     return this.numA + this.numB;
    // },


    // actions 函数,专门来修改 store 中数据的值
    updateNum1: action(function (step) {
        this.numA += step;
    }),
})

三. 在page页面中使用 stroe

其中在页面上 我就直接拿this.data.numA以及方法this.updateNum1(); 使用就行

import {createStoreBindings} from 'mobx-miniprogram-bindings';
import {store} from '../../store/store';

Page({
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.storeBindings = createStoreBindings(this, {
      store,
      fields: ['numA'],
      actions: ['updateNum1']
    })
  },
  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {
    this.storeBindings.destroyStoreBindings();
  },
})

四. 在成员组件中使用store

import {storeBindingsBehavior} from 'mobx-miniprogram-bindings'
import {store} from '../../store/store'

Component({
  // 通过 storeBindingsBehavior 来实现自动绑定
  behaviors:[storeBindingsBehavior],

  storeBindings:{
    store,
    fields:{
      // 绑定字段的三种方式
      numA: () => store.numA,
      numB: (store) => store.numB,
      sum: 'sum'
    },
    actions:{
      updateNum2: 'updateNum1'
    }
  },
 })

相关推荐

  1. 程序全局数据共享

    2023-12-15 04:54:06       16 阅读
  2. 程序监听App中的globalData——全局数据监听

    2023-12-15 04:54:06       14 阅读
  3. 程序全局变量的应用

    2023-12-15 04:54:06       38 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-15 04:54:06       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-15 04:54:06       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-15 04:54:06       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-15 04:54:06       20 阅读

热门阅读

  1. mysql比较varchar值大小_Mysql varchar大小长度问题

    2023-12-15 04:54:06       42 阅读
  2. 云架构的思考4--云上灾备

    2023-12-15 04:54:06       37 阅读
  3. 第一次数学建模赛后总结

    2023-12-15 04:54:06       40 阅读
  4. Echarts折线图常见问题及案例代码

    2023-12-15 04:54:06       41 阅读
  5. android版本webrtc使用ffmpeg 解码h264编译报错

    2023-12-15 04:54:06       38 阅读
  6. 1-go介绍、go开发环境搭建、命名规范

    2023-12-15 04:54:06       35 阅读
  7. 2.4 C语言之运算符

    2023-12-15 04:54:06       40 阅读
  8. openCV图像SIFT特征

    2023-12-15 04:54:06       38 阅读