微信小程序----全局数据共享_小程序全局数据管理_蜂蜜狮子头
全局数据共享...
1.什么是全局数据共享
全局数据共享(又叫做:状态管理)是为了解决组件之间数据共享的问题。开发中常用的全局数据共享方案有:Vuex、Redux、MobX等。
2.小程序中的全局数据共享方案
在小程序中,可使用 mobx-miniprogram 配合 mobx-miniprogram-bindings 实现全局数据共享。其中:mobx-miniprogram 用来 创建 Store 实例对象
mobx-miniprogram-bindings 用来把 Store 中的共享数据或方法,绑定到组件或页面中使用
全局数据共享–MobX
1.安装MobX相关的包
在项目中运行如下的命令,安装MobX相关的包:
npm install --save mobx-miniprogram@4.13.2 mobx-miniprogram-bindings@1.2.1
注意:MobX相关的包安装完毕之后,记得删除 miniprogram_npm目录后,重新构建npm。
2.创建MobX的Store 实例
//在这个 JS 文件中专门来创建 Store 的实例对象
import { observable,action } from 'mobx-miniprogram'
export const store = observable({
//数据字段
numA: 1,
numB: 2,
//计算属性
get sum(){
return this.numA + this.numB
},
//actions 函数,专门来修改 store 中数据的值
updateNum1: action(function(step) {
this.numA += step
}),
updateNum2: action(function(step) {
this.numB += step
})
})
3.将Store中的成员绑定到页面中
import { createStoreBindings } from 'mobx-miniprogram-bindings'
import { store } from '../../store/store'
Page({
onLoad(options) {
this.storeBindings = createStoreBindings(this,{
store,
fields: ['numA','numB','sum'],
actions: ['updateNum1']
})
},
onUnload() {
this.storeBindings.destroyStoreBindings()
}
})
4.在页面上使用Store中的成员
页面的 wxml 结构:
<!--components/numbers/numbers.wxml-->
<view>{{numA}} + {{numB}} = {{sum}}</view>
<van-button type="primary" bindtap="btnHandler2" data-step="{{1}}">numB + 1</van-button>
<van-button type="danger" bindtap="btnHandler2" data-step="{{-1}}">numB - 1</van-button>
按钮事件的处理函数
/**
* 组件的方法列表
*/
methods: {
btnHandler2(e) {
this.updateNum2(e.target.dataset.step)
}
}
相关文章
- Kafka Without ZooKeeper ---- 不使用zookeeper的kafka集群_杰特JET_kafka不用zookeeper
- springboot项目切分多个module_我是坑货_springboot 多module
- k8s部署-42-带你深入学习ingress-nginx(上)_运维家
- Vue-nginx反向代理_小矮马_nginx vue 反向代理
- k8s ingress、istio网关_你大晨哥_istio 网关
- kafka全部数据清空_wd520521_kafka 清空数据
- Centos 8、RockyLinux 8、AlmaLinux 8安装Kafka 3.1.0集群_抽离1024
- dubbo之外部化配置_wang0907_dubbo 外部化配置
- Ubuntu 20.04 CentOS7/8 编译安装 Nginx 1.20.2_java劝退工程师
- Windows环境Nginx部署springboot+vue前后端分离项目_派了个派
- 如何配置HTTPS服务器_wecloud1314_服务器配置https
- 解决:搭建zookeeper集群时报错:Cannot open channel to 3 at election address xxx/24:xxxx …… No route to host_fsl
- zookeeper 配置文件详解_快乐的小三菊_zookeeper配置
- 【Zookeeper】分布式锁案例(原生、Curator)_望天边星宿
- 小满Linux(第四章介绍Nginx)_小满zs
- Docker + nginx 部署前端项目--记录_小明爱折腾_docker nginx部署前端项目