@wfrog/vc
Version:
`自用` 的基于 `element-plus` 二次封装的 `vue3` 组件库。追求在业务场景中,尽可能使用更少的代码量来实现需求。 因此在组件封装上,以 `方便` 为主,打包仅 `esm` 模式。
25 lines (24 loc) • 522 B
JavaScript
// src/use/useStore.ts
import { inject, provide } from "vue";
function useProvide(keyName, instance) {
const KEY = {};
Object.keys(instance).forEach((key) => {
const ukey = Symbol(key);
KEY[key] = ukey;
provide(ukey, instance[key]);
});
provide(keyName, KEY);
return KEY;
}
function useInject(keyName) {
const keys = inject(keyName, {});
const result = {};
Object.keys(keys).forEach((key) => {
result[key] = inject(keys[key]);
});
return result;
}
export {
useInject,
useProvide
};