You need to use a plugin before using this hook.
Vue hook for vue-router.
import { createComponent, onMounted, onUnmounted } from '@vue/composition-api';
import { useRouter } from '@u3u/vue-hooks';
const Demo = createComponent({
setup() {
const { route, router } = useRouter();
let timerId;
onMounted(() => {
timerId = window.setInterval(() => {
router.replace(route.value.meta.next);
}, 5e3);
});
onUnmounted(() => {
window.clearInterval(timerId);
});
return { route };
},
render() {
const { route } = this;
return (
<ul>
{Object.keys(route).map((key) => (
<li key={key}>
{key}: <pre>{JSON.stringify(route[key], null, 2)}</pre>
</li>
))}
</ul>
);
},
});
function useRouter(): {
route: Ref<Route>;
router: VueRouter;
};
route
:Ref<Route>
router
:VueRouter