1.1.0 • Published 2 years ago

rainc_event v1.1.0

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

rainc_event

一个全局事件总线和全局响应式数据共享管理工具

Project setup

使用方法:

安装

npm i rainc_event

引入

const raincEvent = require("rainc_event")

应用

const { RaincBus, RaincStore } = raincEvent;

eventBus 应用

const eventBus = new RaincBus();

const fn1 = (...payload) => {
  console.log("事件一", payload);
};

const fn2 = (...payload) => {
  console.log("事件二", payload);
};

const fn3 = (...payload) => {
  console.log("事件三", payload);
};

eventBus.on("zhang", fn1);
eventBus.on("zhang", fn2);
eventBus.on("chen", fn3);

eventBus.emit("zhang", "参数一", "参数二", "参数三");

eventBus.off("zhang", fn1);

eventBus.emit("zhang", "参数一", "参数二", "参数三");

eventStore 应用

const eventStore = new RaincStore({
  state: {
    name: "chenge",
    hobby: ["F1", "football"],
  },
  actions: {
    //异步请求
  },
});

// 数据监听;
eventStore.onState("name", (value) => {
  console.log("监听name:", value);
});

eventStore.onState("hobby", (value) => {
  console.log("监听hobby:", value);
});

// 同时监听多个数据;
eventStore.onStates(["name", "hobby"], (value) => {
  console.log("监听多个数据:", value); // 数组类型
});

// 数据变化
setTimeout(() => {
  eventStore.setState("name", "雨哥");
  eventStore.setState("hobby", ["FIFA", "FIA"]);
}, 1000);

// 同时监听多个数据;
eventStore.onStates(["name", "hobby"], (value) => {
  console.log("监听多个数据:", value); // 数组类型
});
1.1.0

2 years ago

1.0.0

2 years ago