当前位置: 首页 > news >正文

Vue Router 4 与 Router 3 路由配置与区别

文章目录

  • 路由安装
  • 路由配置
    • vue-router 3.x版本写法
      • 配置路由
      • 使用路由
    • vue-router 4.x版本写法
      • 配置路由
      • 使用路由
  • Vue Router 4 与 Vue Router 3 区别

路由安装

  • Vue 2 (使用 Vue Router 3) :npm install vue-router@3

  • Vue 3 (使用 Vue Router 4) :npm install vue-router@4


路由配置

vue-router 3.x版本写法

配置路由

// router/index.js  
import Vue from 'vue'  
import Router from 'vue-router'  
import Home from '../views/Home.vue'  
import About from '../views/About.vue'  Vue.use(Router)  const routes = [  {  path: '/',  name: 'Home',  component: Home  },  {  path: '/about',  name: 'About',  component: About  }  
]  export default new Router({  // 区别1mode: 'history',  // 区别2base: process.env.BASE_URL,  routes 
})

使用路由

// main.js  
import Vue from 'vue'  
import App from './App.vue'  
import router from './router'  new Vue({  router,  render: h => h(App)  
}).$mount('#app')  // 区别3  

.

vue-router 4.x版本写法

配置路由

// router/index.js
import { createRouter, createWebHistory } from 'vue-router'  
import Home from '../views/Home.vue'  
import About from '../views/About.vue'  const routes = [  {  path: '/',  name: 'Home',  component: Home  },  {  path: '/about',  name: 'About',  component: About  }  
]  const router = createRouter({  // 区别1history: createWebHistory(process.env.BASE_URL),  // 区别2routes  
})  export default router

使用路由

// main.js  
import { createApp } from 'vue'  
import App from './App.vue'  
import router from './router'  const app = createApp(App)  
app.use(router)  // 区别3  
app.mount('#app')

Vue Router 4 与 Vue Router 3 区别

  • 与 Vue 版本的兼容性:Vue Router 4 是专门为 Vue 3 设计的,而 Vue Router 3 与 Vue 2 兼容。

  • Composition API 的集成:Vue Router 4 提供了更好的对 Vue 3 Composition API 的支持,允许你使用 useRouteuseRouter 钩子在组合式组件中访问路由信息。

  • TypeScript 支持:Vue Router 4 对 TypeScript 提供了更好的支持,类型定义更加完整和准确。

  • 路由守卫的改进:Vue Router 4 改进了路由守卫(导航守卫)的 API,提供了更多的灵活性和控制。

  • 滚动行为:Vue Router 4 改进了滚动行为的管理,允许更细粒度的控制。

具体体现在:

  1. createRouter() 替换 new Router()
  2. 路由模式由 createWebHistory() 替换 mode: 'history'
  3. main.js中由 .use(router) 替换 new Vue({ router })
    .

路由模式区别

vue-router 3.xvue-router 4.x
historycreateWebHistory()
hashcreateWebHashHistory()
abstractcreateMemoryHistory()
http://www.lryc.cn/news/340340.html

相关文章:

  • python借助elasticsearch实现标签匹配计数
  • Yolo-world+Python-OpenCV之摄像头视频实时目标检测
  • vue-treeselect 的基本使用
  • Vue(二)
  • Python基于深度学习的车辆特征分析系统
  • 推理还原的干货
  • 【Redis 神秘大陆】006 灾备方案
  • 【Java基础】17.异常处理
  • 【python】flask结合SQLAlchemy,在视图函数中实现对数据库的增删改查
  • APIGateway的认证
  • MacOS Github Push项目 精简版步骤
  • Eclipse的基本使用讲解(建项目,建包,建类,写代码(基本语法))新手入门必备
  • 3D模型处理的并行化
  • 盲人安全导航技巧:科技赋能让出行更自如
  • 问,由于java存在性能上,以及部分功能上的缺点,请问如何正确使用C,C++,Go,这三个语言,提升Java Web项目的性能?
  • 【信号与系统 - 9】傅里叶变换的性质习题
  • C#探索之路基础夯实篇(5):语法糖概念解析
  • SeaTunnel 与 DataX 、Sqoop、Flume、Flink CDC 对比
  • 深入理解汇编:平栈、CALL和RET指令详解
  • DP4 最小花费爬楼梯
  • OpenXR API概览与核心组件解析
  • 安装指定版本的ant-design-vue和指定版本的@ant-design/icons-vue 图标组件包
  • Zynq7000系列中的休眠模式
  • 在redhat7/8平台上部署ELK7.17.18的技术方案
  • (Chat For Al,创新Al,汇语Al助手,AiTab新标签,万能助手,LLaVA)分享6个好用的ChatGPT
  • MySQL-锁篇
  • 滤波器笔记(杂乱)
  • 【ARFoundation自学01】搭建AR框架,检测平面点击位置克隆物体
  • .Net ajax 接收参数
  • 智能零售:引领购物新时代