我的编程空间,编程开发者的网络收藏夹
学习永远不晚

微信小程序中如何使用store数据共享

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

微信小程序中如何使用store数据共享

全局数据共享 全局数据共享(状态管理)是为了解决组件之间数据共享的问题,开发中常用的全局数据共享方案有:Vuex、Redux、MobX等

在小程序中,可用 mobx-miniprogram (用来创建 Store 实例对象) 配合 mobx-miniprogram-bindings (用来把 Store 中的共享数据或方法,绑定到组件和页面中使用)实现全局数据共享

安装 MobX 相关的包 在项目中运行如下命令,安装 MobX相关的包:(注意要启用管理员权限) 安装完成重新构建 npm

第一步:

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

安装完成后选择:工具-》构建npm

第二步:

在根目录下创建store文件夹,并在其中创建store.js文件

在这个 JS 文件中,专门来创建 Store 的实例对象

import {observable,action} from 'mobx-miniprogram' 
 
export const store = observable({ //2、创建共享数据,并向外暴露出去
    //定义数据字段
    namesValue:'文龙刚',
    shopCarTotalCount:0,//购物车数量
    sitesPosition:wx.getStorageSync('sitesInfo')||'',//提货点
    RestDay:true,
 
    shopTotalCount:action(function(step){//购物车总数
        console.log('传递过来的值是:',step)
        this.shopCarTotalCount+=step
    }),
    setSitesPosition:action(function(position){//设置提货点
      this.sitesPosition=position
    }),
    getRestDay:action(function(type){
      this.RestDay=!this.RestDay
    })
})

 第三步:将 Store 中的成员绑定到页面中

wxml:

<view>
  <!-- 这是调用参数的方法 -->
  <view>
    namesValue:{{namesValue}}
  </view>
  <!-- 这是调用方法的 -->
  <view>
    购物车数量:{{shopCarTotalCount}}
  </view>
  <view>
    <button bindtap="addShopCarTotalCount" data-step='1'>增加</button>
  </view>
 
  <!-- 更改状态 -->
  <view>
    当前状态:{{RestDay}}
  </view>
  <button bindtap="changeType">更改状态</button>
</view>

JS:

import {createStoreBindings} from 'mobx-miniprogram-bindings'
import {store} from '../../libs/store.js'
//因为我是将store.js文件放在libs中了
Page({
    onLoad(options) {
        //第二步:这是store中参数及方法的导入
        this.storeBindings = createStoreBindings(this, {
            store,
            fields: ['namesValue','shopCarTotalCount', 'RestDay', 'sitesPosition'],
            actions: ['shopTotalCount',  'setSitesPosition','getRestDay'],
        })
  },
 
})

 ---------------------------------将 Store 成员绑定到组件中----------------------------

import {createStoreBindings} from 'mobx-miniprogram-bindings'
import {store} from '../../libs/store.js'
Page({
  behaviors:[storeBindingsBehavior],
  storeBindings:{
    // 数据源
    store, //指定要绑定的store
    fields:{//指定要绑定的字段数据
      numA:()=>store.numA,     //绑定字段的第一种方式
      numB:(store)=>store.numB,//绑定字段的第二种方式
      sum:'sum',               //绑定字段的第三种方式
    },
    actions:{ //指定要绑定的方法
      updateNum2:'updateNum2'
    }
  },
})

---------------------------------在组件中使用 Store 中的成员---------------------------------

//组件的 .wxml结构
<view>{{numA}}+{{numB}}={{sum}}</view>
<van-button type="primary" bindtap="btnHander2" data-step="{{1}}">numB+1</van-button>
<van-button type="danger" bindtap="btnHander2" data-step="{{-1}}">numB-1</van-button>
//组件的 .js结构
methods: {
  btnHander2(e){
    this.updateNum2(e.target.dataset.step)
  }
}

到此这篇关于微信小程序中使用store数据共享的文章就介绍到这了,更多相关小程序store数据共享内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

微信小程序中如何使用store数据共享

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

微信小程序中如何使用store数据共享

全局数据共享 全局数据共享(状态管理)是为了解决组件之间数据共享的问题,开发中常用的全局数据共享方案有:Vuex、Redux、MobX等,这篇文章主要介绍了微信小程序中如何使用store数据共享,需要的朋友可以参考下
2023-05-15

微信小程序中怎么使用store数据共享

这篇文章主要介绍“微信小程序中怎么使用store数据共享”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序中怎么使用store数据共享”文章能帮助大家解决问题。全局数据共享 全局数据共享(状态
2023-07-06

微信小程序怎么实现数据共享与方法共享

微信小程序怎么实现数据共享与方法共享,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。全局数据共享 Mobox原生小程序开发中我们可以通过 mobx-miniprogram 配
2023-06-26

微信小程序如何实现在画面之间共享数据

这篇文章主要介绍“微信小程序如何实现在画面之间共享数据”,在日常操作中,相信很多人在微信小程序如何实现在画面之间共享数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序如何实现在画面之间共享数据”的疑
2023-06-19

微信小程序中如何使用wx.previewImage

这篇文章主要为大家展示了微信小程序中如何使用wx.previewImage,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“微信小程序中如何使用wx.previewImage”这篇文章吧。预览图片。O
2023-06-26

如何在微信小程序中使用echart

如何在微信小程序中使用echart?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。首先到ECharts官网下载我放的是tool文件夹下面,你们随意引入的时候注意路径就行2.使
2023-06-15

微信小程序中match-media如何使用

这篇文章主要介绍了微信小程序中match-media如何使用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。match-mediamedia query 匹配检测节点。可以指定
2023-06-26

微信小程序TodoList如何使用

这篇文章主要介绍“微信小程序TodoList如何使用”,在日常操作中,相信很多人在微信小程序TodoList如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序TodoList如何使用”的疑惑有所
2023-06-26

echart在微信小程序中如何使用

今天小编给大家分享一下echart在微信小程序中如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。echarts不显示在
2023-07-05

微信小程序中的用户数据如何分析

今天小编给大家分享一下微信小程序中的用户数据如何分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。访问数据用户访问数据:通过
2023-06-27

微信小程序开发中如何使用wx.vibrateLong

这篇“微信小程序开发中如何使用wx.vibrateLong”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“微信小程序开发中如何使用wx.vibrateLong”,小编整理了以下知识点,请大家跟着
2023-06-26

如何才能使用微信小程序

这篇“如何才能使用微信小程序”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何才能使用微信小程序”文章吧。  第一步:填写账
2023-06-26

编程热搜

目录