美文网首页
(十六)Vue3.x中使用vue-router的新特性

(十六)Vue3.x中使用vue-router的新特性

作者: Mr_莫言之 | 来源:发表于2021-01-11 15:47 被阅读0次
本章我们将聊到Vue-Router在vue3.x中的使用方式及特性。

1、描述:区别于vue2,在vue3中,vue-router将使用新的方法来创建路由,其中重要的是:createRouter, createWebHashHistory, createWebHistory这三个方法。
2、创建:

// router.js
import { createRouter, createWebHashHistory, createWebHistory } from "vue-router";
const routes = [...];
const router = createRouter({
  // 区别于vue2的mode,vue3中将使用history属性来决定采用哪种路由模式
  history: createWebHashHistory(), // 默认为Hash模式,可设置createWebHistory模式
  // 区别于vue2的base,vue3中的基础路由路径将作为createWebHashHistory或者createWebHistory的唯一参数配置到路由中。
  routes
});
export default router;

// main.js
import router from './routes';
const app = createApp(App);
// 注册路由
app.use(router);

3、扩展:在组件中使用路由,查看路由。

// index.vue
// vue-router库当中暴露了useRouter和useRoute两个方法供组件使用,还暴露有其他方法。
import { useRouter, useRoute } from 'vue-router';
import { onMounted, getCurrentInstance } from 'vue';

export default {
  setup() {
    const { proxy } = getCurrentInstance();
    const router = useRouter();
    const route = useRoute();
    onMounted(() => {
      console.log(proxy.$router === router) // true
      console.log(route) // {path, params, query...}
    });
  }
};

下一章:(十七)Vue3.x使用provide/inject来代替vuex的实现方式
上一章:(十五)Vue3.x中我们将采用mitt实现全局事件总

ps:未来的,我期待着;过去的,我释怀着;可都不及我珍惜的,眼前的。

相关文章

网友评论

      本文标题:(十六)Vue3.x中使用vue-router的新特性

      本文链接:https://www.haomeiwen.com/subject/tcydaktx.html