UNPKG

framework7-vue

Version:

Build full featured iOS & Android apps using Framework7 & Vue

28 lines (23 loc) 734 B
import { onBeforeUnmount, ref } from 'vue'; import { f7 } from './f7'; export var useStore = function useStore() { // (store, getter) var store = arguments.length <= 0 ? undefined : arguments[0]; var getter = arguments.length <= 1 ? undefined : arguments[1]; if (arguments.length === 1) { // (getter) store = f7.store; getter = arguments.length <= 0 ? undefined : arguments[0]; } // eslint-disable-next-line var obj = store._gettersPlain[getter]; var valueRef = ref(obj.value); var callback = function callback(v) { valueRef.value = v; }; obj.onUpdated(callback); onBeforeUnmount(function () { // eslint-disable-next-line store.__removeCallback(callback); }); return valueRef; };