全局数据共享之全局仓库的搭建,并且和相应页面建立联系

前面的内容 讲了全局数据共享所需要用到的包的安装,下面从包中导入所需要的方法!

这里需要从包 mobx-miniprogram中导入方法observable  ,然后在用这个方法创建一个实例对象来存储全局共享的数据!下图中的numA  numB

其次全局共享数据的改变只能通过action函数来进行修改,于是又得从包mobx-miniprogram中导入action这个方法

将仓库store中的成员绑定到页面中,需要从包mobx-miniprogram-bindings中导入方法creatStoreBindings

以下实现的两点    1.建立全局仓库    2.将这个仓库和相应的页面绑定!

建立起一个存储全局数据的一个仓库

这个仓库一定最好是单独创建的一个文件夹,比如下列的store文件夹,

建立store这个仓库,把这行代码放到store.js文件中去!

import{observable,action} from 'mobx-miniprogram'
 export const store = observable({
   numA: 1 ,
   numB: 3 ,
   get sum(){
     return this.numA + this.numB
   },
  updataNum1: action(function (step) {
     this.numA += step
    }),
  updataNum2: action(function (step) {
    this.numB += step
  })
})

这里要特意的创建了store文件夹,并在其中创建了store.js这个文件

将全局数据共享的仓库和相应的页面建立起联系!

在页面的.js文件中输入以下代码!!!
import { createStoreBings } from 'mobx-miniprogram-bindings'
import { store } from '../../store/store'

pages({
        onload: function(){ 
                  
             this.storeBindings = createStoreBindings(this,{
                                                        store,
                                                        fields: ['numA','numB','sum'],
                                                        actions: ['updateNum1']
                                                      })
                        }
        onUnload: function(){
              this.storeBindings.destroyStoreBindings()
                                }

将全局数据共享仓库和自定义组件关联起来!

在自定义组件.js中输入下面代码
import {storeBindingsBehavior} from 'mobx-miniprogram-bindings'
import { store } from '../../store/index'

Component({
  behaviors: [storeBindingsBehavior],
  storeBindings:{
    store,
    fields:{
      numA:'numA',
      
    },
    actions: {
      hanshu:'updataNum1'
    }

                 }


  })

在自定义组件的 .js文件中输入下图的代码,然后在参考前面自定义组件的文章,在page页面下调用自定义组件!!!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值