UNPKG

mini-program-event-store

Version:

A small responsive system suitable for handling data responsive issues in mini program development

59 lines (50 loc) 1.47 kB
import { EventStore } from "../src/index.js"; const eventStore = new EventStore({ state: { name: "why", friends: ["abc", "cba", "nba"], banners: [], recommends: [], }, actions: { getHomeMultidata(ctx) { fetch("https://httpbin.org/post", { method: "POST", body: JSON.stringify({ banners: ["流行", "新款", "推荐"], recommend: ["精选推荐", "品牌清仓"], }), }) .then((response) => response.json()) .then((res) => { const { banners, recommend } = JSON.parse(res.data); ctx.banners = banners; ctx.recommends = recommend; }) .catch(() => {}); }, }, }); // 数据监听 eventStore.onState("name", (value) => { console.log("监听name:", value); }); eventStore.onState("friends", (value) => { console.log("监听friends:", value); }); eventStore.onState("banners", (value) => { console.log("监听banners:", value); }); eventStore.onState("recommends", (value) => { console.log("监听recommends", value); }); // 同时监听多个数据 eventStore.onStates(["name", "friends"], (value) => { console.log("监听多个数据:", value); // 数组类型 }); // 数据变化 setTimeout(() => { eventStore.setState("name", "lilei"); eventStore.setState("friends", ["kobe", "james"]); }, 1000); eventStore.dispatch("getHomeMultidata");