0.1.3 • Published 4 years ago
@ice/stark-data v0.1.3
icestark-data
icestark sommunication solution. icestark docs.
Installation
npm install @ice/stark-data --saveAPI
Store
Global Store, unified management of all variables
- get(key)
- set(key, value)
- on(key, callback, force), when
forceis true, callback will be called immediately when initializing - off(key, callback)
example
// Framework
import { store } from '@ice/stark-data';
const userInfo = { name: 'Tom', age: 18 };
store.set('user', userInfo); // set UserInfo
store.set('language', 'CH');
// Sub-application A
import { store } from '@ice/stark-data';
const userInfo = store.get('user'); // get UserInfo
function showLang(lang) {
console.log(`current language is ${lang}`);
}
store.on('language', showLang, true); // add callback for 'language', callback will be called whenever 'language' is changed
store.off('language', showLang); // remove callback for 'language'Event
Global Event, unified management of all events
- on(key, callback)
callbackwill be called with (...rest) - off(key, callback)
- emit(key, ...rest)
example
// Framework
import { event } from '@ice/stark-data';
function fresh(needFresh) {
if (!needFresh) return;
fetch('/api/fresh/message').then(res => {
// ...
});
}
event.on('freshMessage', fresh);
// Sub-application A
import { event } from '@ice/stark-data';
event.emit('freshMessage', false);
// ...
event.emit('freshMessage', true);Contributors
Feel free to report any questions as an issue, we'd love to have your helping hand on icestark.
If you're interested in icestark, see CONTRIBUTING.md for more information to learn how to get started.