vue2和vue3vue-router的区别
时间: 2023-09-22 10:12:52 浏览: 108
Vue2和Vue3的Vue Router在用法上有一些区别。
在Vue2中,我们可以使用以下代码来引入Vue Router:
```javascript
import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
const routes = [
// 路由配置
]
const router = new Router({
mode: 'history',
routes
})
export default router
```
而在Vue3中,我们可以使用以下代码来引入Vue Router:
```javascript
import { createRouter, createWebHashHistory } from 'vue-router'
import router from '@/router'
// 在mounted钩子函数中跳转到命名路由
mounted() {
router.push({ name: 'errorName' })
}
// 创建 router 实例
const router = createRouter({
history: createWebHashHistory(),
// routes
// 注释掉routes之后 编译会报错
})
// 强制判断routes是否存在,若不存在则编译不通过
const router = createRouter({
history: createWebHashHistory(),
// routes
// 注释掉routes之后 编译会报错
})
```
在Vue3中,还引入了新的`createRouter`和`createWebHashHistory`函数来创建路由实例和设置路由模式。
另外,一个重要的区别是在Vue3中,如果浏览器访问的路径不匹配routes中的任何路由配置,并且在routes中没有进行notFound处理,那么不会自动跳转到not-found页面。而在Vue2中,如果路径不匹配routes中的任何路由配置,可以通过配置一个catch-all路由来处理notFound情况。
综上所述,Vue2和Vue3的Vue Router在引入方式上有差异,并且在路由匹配和notFound处理方面也有一些区别。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [vue2 与 vue3 的 vue-router的差异](https://blog.csdn.net/qq_39549013/article/details/126269418)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文