首页 > 编程语言 >小程序共享数据 - 代码实例

小程序共享数据 - 代码实例

时间:2022-09-23 10:44:43浏览次数:46  
标签:axios name 代码 userStore value 实例 banners 共享

// 1.引入store
const { HYEventStore } = require("hy-event-store")
// 引入axios
const axios = require("axios")

// 创建一个仓库
const userStore = new HYEventStore({
  state: {
    name: "why",
    age: 18,

    banners: [],
    recommends: []
  },
  actions: {
    // ctx可以拿到state的数据
    fetchHomeMultidataAction(ctx) {
      axios.get("http://123.207.32.32:8000/home/multidata").then(res => {
        ctx.banners = res.data.data.banner.list
      })
    }
  }
})


// aaa.js中使用共享的数据
// 使用共享的数据  用   onState , 一但是name发生变化,那么就得到
userStore.onState("name", (value) => {
  console.log("name:", value);
  // 这里就可以用 小程序的  setData 来更新数据
})

// 使用共享的数据  用   onState , 一但是banners发生变化,那么就得到
userStore.onState("banners", (value) => {
  console.log("banners:", value)
})

// 使用共享的数据  用   onStates , 一但是name 或者 banners发生变化,那么就得到
userStore.onStates(["name", "banners"], (value) => {
  console.log(value.name);
  console.log(value.banners);
})

// bbb.js改变数据
// 改变共享的数据   用 setState
setTimeout(() => {
  userStore.setState("name", "kobe")

  // 发起  发送请求
  userStore.dispatch("fetchHomeMultidataAction")
}, 2000)

 

标签:axios,name,代码,userStore,value,实例,banners,共享
From: https://www.cnblogs.com/qd-lbxx/p/16721882.html

相关文章

  • 博客园MarkDown 代码块样式修改
    1.下载样式您可以选择你需要的语言,我直接默认下载了2.查看样式效果这是我使用的样式3.使用样式解压下载的文件,打开你要是使用的样式文件,复制里面的内容直接复制到此......
  • 实例87 拉格朗日插值
    #include<stdio.h>#include<stdlib.h>#include<malloc.h>doubleLAG(int,double*,double*,double);voidmain(){intn;double*x,*y,t,lag;......
  • 实例88 最小二乘法拟合
    #include<stdio.h>#include<stdlib.h>#include<malloc.h>#include<math.h>Smooth(double*,double*,double*,int,int,double*,double*,double*);......
  • 实例89 辛普生数值积分
    #include<stdio.h>#include<math.h>doubleFunction(double);doubleSIMP1(double,double,int);doubleSIMP2(double,double,double);voidmain(){doubl......
  • 实例90 改进欧拉法
    #include"stdio.h"#include"stdlib.h"#include<math.h>intFunc(y,d)doubley[],d[];{d[0]=y[1];/*y0'=y1*/d[1]=-y[0];/*y1'=y0*......
  • 实例92 高斯消去法
    #include<stdio.h>#include<stdlib.h>#include<malloc.h>#include<math.h>intGS(int,double**,double*,double);double**TwoArrayAlloc(int,int);voidTwo......
  • 实例91 龙格-库塔法
    #include"stdio.h"#include"stdlib.h"voidRKT(t,y,n,h,k,z)intn;/*微分方程组中方程的个数,也是未知函数的个数*/intk;/*积......
  • 实例84 二分法求解方程
    #include<stdio.h>#include<math.h>#include<malloc.h>#include<stdlib.h>doubleFunc(double);intBisectRoot(double,double,double,double,double*,int,in......
  • 实例85 牛顿迭代法求解方程
    #include<stdio.h>#include<math.h>#include<stdlib.h>intFunction(double,double*,double*);intNewton(double*,double,int);intFunction(x,f,dy)dou......
  • IDEA 如何根据一个关键字检索项目中的所有代码呢?
    今天笔者接到一个需求,项目中提示“****”错误信息,那么如何处理呢?由于笔者第一次接触这个项目,所以只能进行全文检索获取相应的信息,那么如何全文检索呢?输入Ctrl+Shift......