UNPKG

@morehook/router

Version:
31 lines (28 loc) 650 B
import { ref, computed } from 'vue-demi'; import { useRoute, useRouter } from 'vue-router'; function useRouteQuery(key) { const route = useRoute(); const router = useRouter(); if (!route || !router) return ref(""); if (key) { return computed({ get: () => { return route.query[key]; }, set: (val) => { router.replace({ query: { ...route.query, [key]: val } }); } }); } else { return computed({ get: () => { return route.query; }, set: (val) => { router.replace({ query: { ...route.query, ...val } }); } }); } } export { useRouteQuery };