vue3使用路由

下载

npm install vue-router@4

配置路由

  • 暴露出一个createRouter方法,用来创建路由对象
  • 通过defineAsyncComponent方法来实现路由的懒加载
import {
    defineAsyncComponent
} from 'vue'
import {
    createRouter,
    createWebHistory
} from 'vue-router'

const routes = [{
        path: '',
        redirect: {
            name: 'home',
        }
    }, {
        path: "/home",
        name: 'home',
        //component: defineAsyncComponent(() => import('/src/pages/home/index.vue'))  //使用defineAsyncComponent来包裹  rc版本
        component:() => import('/src/pages/home/index.vue'),// V3.0.5
    },
    {
        path: "/about",
        name: 'about',
        component: defineAsyncComponent(() => import('/src/pages/about/index.vue'))
    }
];

export default createRouter({
    history: createWebHistory(), //===>mode:"history"
    routes,
});

导航

  • setup里面获取不到this,路由提供了两个方法useRouter和useRoute来替代原来的api
import { useRouter, useRoute } from "vue-router";

export default {
  name: "App",
  props: {},
  setup(props, { attrs, slots, emit }) {
      const router =useRouter() //==>this.$router
      const route=useRoute()//this.$route
      const goRouter = () => {
        router.push("/about");
      };
      return{
          goRouter,
      }
  }
}

  转载请注明: 小浩之随笔 vue3使用路由

 上一篇
vue2与vue3的区别 vue2与vue3的区别
最近一直有人在问我vue2和vue3有什么区别,今天在这里简单说哈。 根节点 vue2 <template> <div id="app"> ... </div> <
2021-08-19
下一篇 
watch和watchEffect的用法 watch和watchEffect的用法
watch和watchEffect都是监听器,但在写法和使用上有所区别。 watch在监听 ref 类型时和监听reactive类型时watch函数的写发有所不一样。 watch在监听 ref 类型时: import {ref, watch
2021-05-19
  目录