1.1.0 • Published 2 years ago
rainc_event v1.1.0
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); // 数组类型
});