微信全局数据共享

1. 安装Mobx相关包

npm i --save mobx-miniprogram@4.13.2 mobx-miniprogram-bindings@1.2.1

2. 构建npm

删除miniprogram_npm文件夹
重新构建npm

3. 创建store实例对象

根目录下创建store文件夹,新建store.js文件用于创建Store实例对象

// 创建Store实例对象
import {observable} from 'mobx-miniprogram'
export const store= observable({
  //共享数据
  num1:1,
  num2:2
})

4. 定义计算属性

方法名前加get ,只可获取,不能修改

//计算属性
  get sum(){
    return this.num1+this.num2
  }

4. 定义Actions方法可以修改数据

import {observable,action} from 'mobx-miniprogram'
//actions
  updateNum1:action(function(step){
    this.num1+=step
  }),
  updateNum2:action(function(step){
    this.num2+=step
  })

5. 将Store成员绑定到页面中

页面js中

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

onLoad函数

this.storeBindings=createStoreBindings(this,{
    store,
    fields:['num1','num2','sum'],
    actions:['updateNum1']
})
onUnload:function(){
    this.storeBindings.destoryStoreBings()
}

6. 页面中使用Store

wxml

<view>{{num1}}+{{num2}}={{sum}}</view>
<button bindtap="btn1" data-step="{{1}}">+1</button>
<button bindtap="btn1" data-step="{{-1}}">-1</button>

js

btn1(e){
    this.updateNum1(e.target.dataset.step)
}

7. 绑定到组件中

import {storeBindingsBehavior} from 'mobx-miniprogram-bindings'
import {store} from '../../store/store'
Component({
    behaviors:[storeBindingsBehavior],
    storeBindings:{
        store,
        fields:{
            num1:()=>store.num1,
            num2:()=>store.num2,
            sum:'sum'
        },
        actios:{
            updateNum2:'updateNum2'
          }
      }
})

组件中使用和页面一样

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 告别比较晦气的2020,迎来崭新的2021年,希望一切都顺利,特别是家人,朋友都能身体健康,健康比一切都重要,没有...
    乱七八糟谈技术阅读 2,560评论 0 1
  • 学习来源 B站尚硅谷的课程 react 概述 用于构建用户界面的js库 react库的组成 核心库:react.j...
    squidbrother阅读 892评论 0 0
  • 微信小程序云开发——云函数 云函数介绍 云函数定义:运行在(腾讯云)上的程序,将需要的函数部署在云开发平台上,即可...
    JCLightZZ阅读 558评论 0 0
  • 创建项目 vue cli是一个基于vue.js进行快速开发的完整系统,通常包含三个组件,分别是: cli:@vue...
    JunChow520阅读 2,244评论 0 0
  • 1.vue优点? 轻量级框架:只关注视图层,是一个构建数据的视图集合,大小只有几十 kb ; 简单易学:国人开发,...
    逸笛阅读 248评论 0 1