为什么在router文件夹下的index.js文件里面,一开始的时候需要注册VueRouter?

作者站长头像
站长
· 阅读数 19

为什么在router文件夹下的index.js文件里面,一开始的时候需要注册VueRouter?

import Vue from "vue";
import VueRouter from "vue-router";
// 为什么需要在这里注册一次VueRouter?
Vue.use(VueRouter);

最后不是会把router实例对象export出去然后在main.js里面Vue.use(router)吗?为什么要注册两次?

回复
1个回答
avatar
test
2024-06-21

怎么感觉你是把 Vue2 跟 Vue3 的两处 use 的写法给混在一起了呢……

Vue2 里:

Vue.use(VueRouter); // 全局的 use

const router = new VueRouter();
new Vue({ router });

Vue3 里:

const router = createRouter();
createApp().use(router); // 实例的 use

都是只有一次 use,为啥会有两次?


P.S. 2 里的 use 是全局的,所有 Vue 实例都注入了 VueRouter(但它们可以使用不同的配置项);3 里 use 是单个实例的,每个 Vue 实例可以自己决定是否注入 VueRouter。

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容