nativescript-vue-router-extended
Version:
NativeScript Vue Router Extended for NativeScript Vue hybrid Apps.
31 lines • 1.19 kB
JavaScript
import Vue from "nativescript-vue";
import { Frame } from "@nativescript/core/ui/frame";
import { RouterService } from "./router-service";
import { registerActionDispatcher } from "./router-dispatcher-service";
import routerMixin from "./router-mixin";
export const createRouter = (vueRouterOptions, routerOptions = {}) => {
const vm = routerOptions.vm || Vue;
const proto = Vue.prototype;
const router = new RouterService(vueRouterOptions, Object.assign({ frame: Frame, vm: proto }, routerOptions));
if (proto.config && proto.config.globalProperties) {
proto.config.globalProperties.$routeTo = router.push.bind(router);
proto.config.globalProperties.$routeBack = router.back.bind(router);
proto.config.globalProperties.$router = router;
}
else {
proto.$routeTo = router.push.bind(router);
proto.$routeBack = router.back.bind(router);
proto.$router = router;
}
if (vm.mixin) {
vm.mixin(routerMixin);
}
if (proto.$store) {
registerActionDispatcher(router, proto.$store);
}
return router;
};
export default {
createRouter,
};
//# sourceMappingURL=vue-router.common.js.map