0.1.6 • Published 4 years ago
@nebulare/data v0.1.6
Proxima应用间通信
通过@nebulare/data来实现,目前支持状态共享store和事件监听响应event两种方式
安装
yarn add @nebulare/data
or
npm install @nebulare/data --savestore
API
get(key)从store中根据(key: string | symbol)获取变量值set(key,value)根据(key: string | symbol | object)设置store中的变量值has(key)检查插件该变量是否有变量监听事件on(key,callback,force)注册变量监听事件,(force: boolean),为true时,在注册过程中会执行一次callbackoff(key,callback)删除已注册的变量监听事件clean(Array<key>)删除变量的值和删除变量监听事件
示例
获取/修改 当前用户信息
// 主应用
import { store } from '@nebulare/data';
const userInfo = { name: '蒜香骨发烧友', age: 18 };
store.set('user', userInfo); // 登录后设置当前用户信息
// 子应用
import { store } from '@nebulare/data';
function showUser(userInfo) {
console.log('current user', userInfo);
}
// 获取当前用户信息
store.get('user');
// 监听当前用户信息变化
store.on('user', showUser, true);
// 是否有变量监听事件
store.has('user') // true
// 删除监听当前用户信息变化
store.off('user', showUser, true);
// 删除变量的值和删除变量监听事件
store.clean(['user']);Event
Api
on(key,callback)注册回调函数off(key,callback)删除回调函数emit(key,...args)触发已注册的回调函数,支持传参
示例
主应用有刷新当前列表入口,子应用内有执行函数,执行完函数后需要通知主应用刷新当前列表
在主应用监听事件
// 主应用
import { event } from '@nebulare/data';
event.on('refreshList', () => {
// 刷新当前列表
});在子应用触发事件
// 子应用
import { event } from '@nebulare/data';
event.emit('refreshList');