微信小程序通过 wxministore 实现类似于vuex的全局装填数据管理

首先 我们打开终端 引入依赖

javascript 复制代码
npm install wxministore --save

然后 如果你是新版开发者工具 就

javascript 复制代码
npm i

构建一下

如果你是 老版本的 微信开发者工具 就打开右上角详情 选择本地管理 勾选 使用 npm 模块

然后 在根目录下创建一个 store.js 当然建在哪是你自己决定的 反正 后面能引入到就好

然后 store.js 编写代码如下

javascript 复制代码
import Store from 'wxministore';

export default new Store({
  state: {
    name: "小狗狗"
  },
  methods: {
    publicfunction() {
        console.log("公共函数");
    }
  }
});

这里 state 中的就是我们的公共数据 我这里只定义了一个name

然后定义了一个公共的函数 publicfunction

然后 我们需要在 app.js中引入自己写的store

这里 我们引入一下 然后在对象中 store赋个值 放在根目录其实就是为了方便app.js引入

然后 我们再到具体的page界面中去使用

wxml 参考代码如下

html 复制代码
<view>
    <view>{{ $state.name }}</view>
    <button bindtap="decrement">转变</button>
    <button bindtap="getdata">打印数据</button>
    <button bindtap="publicfunction">公共函数</button>
    <button bindtap="toChangeInto">跳转界面</button>
</view>

js参考代码如下

javascript 复制代码
const app = getApp();
Page({
  data: {
  },
  onLoad() {
  },
  getdata() {
    console.log(app.store.getState().name);
  },
  decrement() {
      app.store.setState({
          name: "大猫猫"
      })
  },
  toChangeInto: function() {
    wx.navigateTo({
      url: '/pages/mint/mint'
    })
  }
 
})

首先 我们要通过getApp 得到一个app对象

然后 这里 我们想更改公共数据 就要 app.store.setState

读取有两种方式 app.store.getState() 和 $state

js中 我比较建议 app.store.getState() 页面上可以 $state

运行之后 会发现 name 的值 顺利展示了 小狗狗

然后 我们点击打印 触发getdata

我们可以确定 数据读取是肯定没问题的

然后我们点击转变 触发decrement

可以看到 更改也是完全没有问题

然后

我们点击 跳转 界面

要跳转的page 就一行代码 就是wxml上的

html 复制代码
<text>{{ $state.name }}</text>

展示一下name

可以看到 这个数据是可以实现不同page 乃至组件共享的

相关推荐
JasonMa15310 小时前
从零搭建一个微信小程序活动管理平台(一):架构设计与技术选型
javascript·微信小程序·node.js
游戏开发爱好者817 小时前
iOS应用加固方案全解析:源码加固与IPA在线加固对比
android·macos·ios·小程序·uni-app·cocoa·iphone
2301_810313181 天前
宠物服务APP开发宠物社交上门喂养洗护商城系统源码搭建
小程序·团队开发·软件需求·宠物
momodira82 天前
防溺水作品投票小程序选哪个?
小程序·投票工具·线上制作教程
鲁Q同志2 天前
微信小程序【uni-file-picker文件预览】
微信小程序·小程序
2601_963869952 天前
【计算机毕业设计】基于微信小程序的拼车服务系统设计与实现
微信小程序·小程序·课程设计
2501_915909062 天前
iOS应用性能监控 Instruments工具与崩溃日志分析完整指南
android·ios·小程序·https·uni-app·iphone·webview
人脸核身安全官2 天前
人脸核身SDK接入实测:H5/小程序常见兼容问题与通过率优化
小程序·人脸识别·人脸比对·活体检测·实人认证·h5人脸核验·旷视
2501_915918412 天前
详解iOS App上架至App Store的全流程步骤与注意事项
android·macos·ios·小程序·uni-app·cocoa·iphone
greenbbLV3 天前
积分兑换商城供应商挑选:避坑要点与靠谱选择解析
前端·小程序