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

news/2024/7/20 1:56:28 标签: 微信小程序, 小程序

前言

        全局数据共享(又叫做:状态管理)是为了解决组件之间数据共享的问题。开发中常用的全局数据共享方案有: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'
    }
  },
 })


http://www.niftyadmin.cn/n/5263561.html

相关文章

Java中的链表

文章目录 前言一、链表的概念及结构二、单向不带头非循坏链表的实现2.1打印链表2.2求链表的长度2.3头插法2.4尾插法2.5任意位置插入2.6查找是否包含某个元素的节点2.7删除第一次出现这个元素的节点2.8删除包含这个元素的所以节点2.9清空链表单向链表的测试 三、双向不带头非循坏…

机器学习中的混沌工程:拥抱不可预测性以增强系统鲁棒性埃

一、介绍 在动态发展的技术世界中,机器学习 (ML) 已成为一股革命力量,推动各个领域的创新。然而,随着机器学习系统的复杂性不断增加,确保其可靠性和鲁棒性已成为首要问题。这就是混沌工程发挥作用的地方,混沌工程是一门…

第8次实验:UDP

目的: 来看一下UDP(用户数据报协议)的细节。UDP是整个互联网上使用的一种传输协议。在不需要可靠性的情况下,作为TCP的替代品在互联网上使用。它在你的课文的第6.4节中有所涉及。在做这个实验之前,先复习一下这一部分 …

Bash script进阶笔记

数组类型 arr(1 2 3) # 最基础的方式声明数组,用小括号(),元素之间逗号分隔 arr([1]10 [2]20 [3]30) # 初始化时指定index declare -a arr(1 2 3) # 用declare -a声明数组,小括号外面可选使用单引号、双引号 declare -a arr‘(1 2 3)’…

[开源更新] 企业级身份管理和访问管理系统、为数字身份安全赋能

一、系统简介 名称:JNPF权限管理系统 JNPF 权限管理系统可用于管理企业内员工账号、权限、身份认证、应用访问等,可整合部署在本地或云端的内部办公系统、业务系统及第三方 SaaS 系统的所有身份,实现一个账号打通所有应用的服务。其有如下几…

Linux——MySQL备份与恢复

数据库备份概述 备份的主要目的是灾难恢复,备份还可以测试应用、回滚数据修改、查询历史数据.审计等。 1.数据备份的重要性 在企业中数据的价值至关重要,数据保障了企业业务的正常运行,因此,数据的安全性及数据 的可靠性是运维的…

UDP特性之组播(多播)

UDP特性之组播 1. 组播的特点2. 设置主播属性2.1 发送端2.2 接收端 3. 组播通信流程3.1 发送端3.2 接收端 4. 通信代码 原文链接 在公司测试广播和多播有一点问题。。。 1. 组播的特点 组播也可以称之为多播这也是UDP的特性之一。组播是主机间一对多的通讯模式,是…

湖南开放大学形成性考核 平时作业 统一资料 参考

卷代号:1282 社会学概论(本) 参考试题 一、单项选择题(在各题的备选答案中,只有1项是正确的,请将正确答案的序号,填写在题中的括号内。每题1分,共10分) 1.从20世纪30年代…