Skip to content

Files

Latest commit

 

History

History
58 lines (45 loc) · 1.17 KB

useRouter.md

File metadata and controls

58 lines (45 loc) · 1.17 KB

useRouter

You need to use a plugin before using this hook.

Vue hook for vue-router.

Usage

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>
    );
  },
});

Reference

function useRouter(): {
  route: Ref<Route>;
  router: VueRouter;
};

ReturnValue