chore: rename composables folder

This commit is contained in:
chenjiahan
2020-11-16 11:41:46 +08:00
parent dc6330bcdc
commit 062cd546a9
60 changed files with 67 additions and 67 deletions
+36
View File
@@ -0,0 +1,36 @@
/**
* Vue Router support
*/
import {
PropType,
ExtractPropTypes,
getCurrentInstance,
ComponentPublicInstance,
} from 'vue';
import type { RouteLocation } from 'vue-router';
export const routeProps = {
to: [String, Object] as PropType<RouteLocation>,
url: String,
replace: Boolean,
};
export type RouteProps = ExtractPropTypes<typeof routeProps>;
export function route(vm: ComponentPublicInstance<RouteProps>) {
const router = vm.$router;
const { to, url, replace } = vm;
if (to && router) {
router[replace ? 'replace' : 'push'](to);
} else if (url) {
replace ? location.replace(url) : (location.href = url);
}
}
export function useRoute() {
const vm = getCurrentInstance()!.proxy as ComponentPublicInstance<RouteProps>;
return () => {
route(vm);
};
}