微信小程序:全局状态管理mobx-miniprogram

简介: 微信小程序:全局状态管理mobx-miniprogram

安装

npm install --save mobx-miniprogram mobx-miniprogram-bindings

定义 store.js


/**
 * 全局状态管理
 */
import { observable, action } from 'mobx-miniprogram';
export const store = observable({
  // 数据字段
  numA: 1,
  numB: 2,
  // 计算属性
  get sum() {
    return this.numA * this.numB;
  },
  // actions
  update: action(function () {
    this.numA++;
  }),
});

在 Component 构造器中使用


import{ storeBindingsBehavior }from'mobx-miniprogram-bindings'
import{ store }from'./store'
Component({
  // behavior 绑定
  behaviors:[storeBindingsBehavior],
  data:{
    someData:'...'
  },
  storeBindings:{
    store,
    fields:{
      numA:()=> store.numA,
      numB:(store)=> store.numB,
      sum:'sum'
    },
    actions:{
      buttonTap:'update'
    },
  },
  methods:{
    myMethod(){
       this.data.sum // 来自于 MobX store 的字段
   }
 }
})

在 Page 构造器中使用:


import{ createStoreBindings }from'mobx-miniprogram-bindings'
import{ store }from'./store'
Page({
  data:{
    someData:'...'
  },
  onLoad(){
    // 手工绑定 
    this.storeBindings = createStoreBindings(this,{
          store,
          fields:['numA','numB','sum'],
          actions:['update'],
    })
  },
  // 一定要调用清理函数,否则将导致内存泄漏!
  onUnload(){
    this.storeBindings.destroyStoreBindings()
  },
  myMethod(){
    this.data.sum // 来自于 MobX store 的字段
  }
})

在 app.js 中使用


import { store } from './store';
App({
    onShow(options) {
        // 更新
        store.update();
  },
})
相关文章
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的实验室管理微信小程序的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的实验室管理微信小程序的详细设计和实现(源码+lw+部署文档+讲解等)
109 0
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的学生资助在线管理软件开发微信小程序的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的学生资助在线管理软件开发微信小程序的详细设计和实现
141 0
基于SpringBoot+Vue+uniapp微信小程序的学生资助在线管理软件开发微信小程序的详细设计和实现
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp微信小程序的图书馆自习室座位预约管理的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的图书馆自习室座位预约管理的详细设计和实现
387 1
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的毕业生就业管理微信小程序的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的毕业生就业管理微信小程序的详细设计和实现(源码+lw+部署文档+讲解等)
196 0
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的家庭事务管理微信小程序的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的家庭事务管理微信小程序的详细设计和实现(源码+lw+部署文档+讲解等)
137 0
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的毕业生就业管理微信小程序附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的毕业生就业管理微信小程序附带文章和源代码部署视频讲解等
174 0
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp微信小程序的快递管理平台的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的快递管理平台的详细设计和实现
157 0
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的高校教师成果管理小程序的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的高校教师成果管理小程序的详细设计和实现
139 0
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp微信小程序的停车场管理的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的停车场管理的详细设计和实现
156 0
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的实验室管理微信小程序的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的实验室管理微信小程序的详细设计和实现
152 0

热门文章

最新文章