从Vue 2到Vue 3:深入了解路由配置的变化与升级建议

2023-07-28 18:36:49

在这里插入图片描述

🎬 岸边的风个人主页

 🔥 个人专栏:《 VUE 》 《 javaScript 》

⛺️生活的理想,就是为了理想的生活!

目录

📘 前言

vue2路由配置

📟 一、控制台安装vue路由

📟 二、项目src文件夹下创建router文件夹,并在router文件夹下创建index.js文件

 📟 三、在index.js文件夹下进行vue路由配置

📟 四、在main.js中注册路由

📟 五、在App.vue根组件组件使用

📟 六、后记

📘 vue3路由配置

📟 一、控制台安装vue路由

📟 二、项目src文件夹下创建router文件夹,并在router文件夹下创建index.tshe==文件

 📟 三、在index.js文件夹下进行vue路由配置

📟 四、在main.js中注册路由

📟 五、在App.vue根组件组件使用

📟 六、后记

📘 写在最后


📘 前言

欢迎阅读本篇文章,我们将带您深入探索Vue 2和Vue 3的路由配置。在现代前端开发中,路由是构建交互式Web应用程序不可或缺的一部分。Vue.js作为一种流行的JavaScript框架,在版本2和版本3之间进行了重大改进和升级。

在这篇文章中,我们将比较Vue 2和Vue 3的路由配置,并介绍它们之间的主要区别和新特性。我们将探讨Vue Router的使用方法,包括路由的定义、嵌套路由的设置、路由守卫的应用等。我们还将深入研究Vue 3中的新特性,例如Composition API如何影响路由配置的方式。

无论您是Vue 2的老手,还是想要了解Vue 3的新功能,本文都会为您提供全面和实用的指导。我们还将分享一些迁移Vue 2到Vue 3的实践经验和建议,帮助您平稳地过渡并兼顾项目的成功

无论您是正在构建新的Vue应用程序,还是正在考虑将现有的Vue 2项目升级到Vue 3,本文都将为您提供有价值的信息和策略。让我们一起深入研究Vue 2和Vue 3的路由配置,为您的下一个Vue项目增添动力和灵活性

vue2路由配置

📟 一、控制台安装vue路由

npm install --save vue-router@3.5.3 

最新版本只支持vue3,所以vue2要安装3.5.3的版本

📟 二、项目src文件夹下创建router文件夹,并在router文件夹下创建index.js文件

 📟 三、在index.js文件夹下进行vue路由配置

import Vue from 'vue';
import VueRouter from 'vue-router';


// 使用VueRouter插件
Vue.use(VueRouter);
// 把VueRouter原型对象push,保存一份
let originPush = VueRouter.prototype.push
let originReplace = VueRouter.prototype.replace

// 重写push|replace
// 第一个参数:告诉原来的push方法,往哪里跳转(传递哪些参数)
VueRouter.prototype.push = function (location, resolve, reject) {
    if (resolve && reject) {
        originPush.call(this, location, resolve, reject)
    } else {
        originPush.call(this, location, () => { }, () => { })
    }
}
VueRouter.prototype.replace = function (location, resolve, reject) {
    if (resolve && reject) {
        originReplace.call(this, location, resolve, reject)
    } else {
        originReplace.call(this, location, () => { }, () => { })
    }
}


// 创建路由对象
const router = new VueRouter({
    mode: 'history',
    routes:[
    { 
        path: "/", 
        name: "Login",
        component: () => import("@/view/Login/index.vue"),
        meta:{
            show:true,
            title: "登陆页",
            menuOrder: 1,
            icon: "Remove"  
        }
    },
    { 
        path: "/home", 
        name: "Home",
        component: () => import("../view/Home/index.vue"),
        children:[
            { 
                path: "/Home-One", 
                name: "Home-One",
                component: () => import("@/view/Home/One/index.vue"),
                meta:{
                    show:true,
                    title: "one页面",
                    menuOrder: 1,
                    icon: "el-icon-user-solid"  
                }
            },
        ],
        meta:{
            show:true,
            title: "hom页面",
            menuOrder: 1,
            icon: "el-icon-s-tools"  
        }
    },
    { 
        path: "/about", 
        name: "About",
        component: () => import("@/view/About/index.vue"),
        meta:{
            show:true,
            title: "关于页面",
            menuOrder: 1,
            icon: "el-icon-menu"  
        }
    },
  ]
});

export default router;

📟 四、在main.js中注册路由

import Vue from 'vue'
import App from './App.vue'
import router from '@/router/index';


Vue.config.productionTip = false
new Vue({
  router, //注册路由
  render: h => h(App),
}).$mount('#app')

📟 五、在App.vue根组件组件使用

<template>
  <div id="app">
    <router-view />
  </div>
</template>

<script>

export default {
  name: 'App',
  components: {
  }
}
</script>

<style>

</style>

📟 六、后记

本节讲述了vue2中路由的基本使用,后续如在项目中遇到问题可以私信我共同交流学习!

📘 vue3路由配置

📟 一、控制台安装vue路由

npm install --save vue-router

📟 二、项目src文件夹下创建router文件夹,并在router文件夹下创建index.tshe==文件

 📟 三、在index.js文件夹下进行vue路由配置

import { createRouter, createWebHistory ,RouteRecordRaw} from 'vue-router'
import {routes} from './router'

const router = createRouter({
    history: createWebHistory(), //模式配置 hash模式
    routes:routes as RouteRecordRaw[]
})
console.log("--routes-->", routes);

export default router

📟 四、在main.js中注册路由

import Vue from 'vue'
import App from './App.vue'
import router from '@/router/index';


Vue.config.productionTip = false
new Vue({
  router, //注册路由
  render: h => h(App),
}).$mount('#app')

📟 五、在App.vue根组件组件使用

<template>
  <div id="app">
    <router-view />
  </div>
</template>

<script>

export default {
  name: 'App',
  components: {
  }
}
</script>

<style>

</style>

📟 六、后记

vue3的配置与vue2是有所差别的,本文就讲述了如何配置,如果本文对你有所帮助请三连支持博主。


📘 写在最后

无论是Vue 2还是Vue 3,路由配置都需要细致的规划和设计。合理的路由结构、嵌套路由的使用以及路由守卫的应用都是关键因素。同时,了解Vue Router的特性和用法,能够更好地利用路由实现页面导航、状态管理等功能。

感谢大家一如既往对我的点赞与支持,不是我的作品有多好,而是你们的不嫌弃。这世界上有一种爱叫“关注”,感恩遇见、感恩有你~

 

 

更多推荐

Linux系统之安装uptime-kuma服务器监控面板

Linux系统之安装uptime-kuma服务器监控面板一、uptime-kuma介绍1.1uptime-kuma简介1.2uptime-kuma特点二、本次实践环境介绍2.1环境规划2.2本次实践介绍2.3环境要求三、检查本地环境3.1检查本地操作系统版本3.2检查系统内核版本3.3检查系统是否安装Node.js四、

【计算机网络】IP协议第二讲(Mac帧、IP地址、碰撞检测、ARP协议介绍)

IP协议第二讲1.IP和Mac帧2.碰撞检测2.1介绍2.2如何减少碰撞发生2.3MTU2.4一些补充3.ARP协议3.1协议介绍3.2报文格式分析1.IP和Mac帧IP(InternetProtocol)和MAC(MediaAccessControl)帧是计算机网络中两个不同层次的概念,它们在网络通信中扮演不同的角色

sed简单使用

sed(StreamEditor)流编辑器,对标准输出或文件逐行进行处理语法格式第一种形式:stdout|sed[option]"patterncommand"第二种形式:sed[option]"patterncommand"filesed的选项选项含义-n只打印模式匹配行-e直接在命令行进行sed编辑,默认选项-f编

质数距离(C++筛素数模板题)

给定两个整数L和U,你需要在闭区间[L,U]内找到距离最接近的两个相邻质数C1和C2(即C2−C1是最小的),如果存在相同距离的其他相邻质数对,则输出第一对。同时,你还需要找到距离最远的两个相邻质数D1和D2(即D1−D2是最大的),如果存在相同距离的其他相邻质数对,则输出第一对。输入格式每行输入两个整数L和U,其中L

JavaScript速成课--面向对象程序设计

目录一.类的定义和实例化1.类的定义2.类的实例化二.访问和添加对象的属性和方法1.访问对象的属性和方法2.向对象添加对象属性和方法三.继承1.原型实现继承2.构造函数实现继承3.重新定义继承父类的方法一.类的定义和实例化在JavaScript中没有声明类的关键字,也没有对类访问的权限控制,JavaScript中使用函

力扣刷题:正则表达式匹配、

今日刷题一、正则表达式匹配题目链接:https://leetcode.cn/problems/regular-expression-matching/给你一个字符串s和一个字符规律p,请你来实现一个支持‘.’和‘*’的正则表达式匹配。‘.’匹配任意单个字符‘*’匹配零个或多个前面的那一个元素所谓匹配,是要涵盖整个字符串

B树的插入和删除

1.B树的插入1.核心要求对m阶B树——除根节点外,结点关键字个数[m/2]−1≤n≤m−1[m/2]-1≤n≤m-1[m/2]−1≤n≤m−1子树0<关键字1<子树1<关键字2<子树2<…新元素一定是插入到最底层“终端节点”,用“查找”来确定插入位置.2.具体步骤若插入后结点关键字个数未超过上限,则无需做其他处理.在

PX4 固件常用 QGroundControl 参数设置

一、安全检查1.CBRK_USB_CHK(USB连接检查)检查USB连接飞控,若连接则不允许解锁,默认情况下有USB连接时是无法解锁的,如果需要插USB解锁,需要设置为1978482.CBRK_IO_SAFETY(安全开关检查)检查安全开关,安全开关未打开则不允许解锁,默认情况下需要打开安全开关才能解锁,如果需要禁用安

centos7安装安装python3.11,安装Home Assistant

一,下载并编译安装python3.111、python源码地址:https://www.python.org/ftp/python/3.11.4/Python-3.11.4.tgz2、准备编译环境yumupdate-yyum-ygroupinstall"Developmenttools"yum-yinstallbzip

java基础-并发编程-CountDownLatch(JDK1.8)源码学习

CountDownLatch方法调用与类关系图一、初始化:publicCountDownLatch(intcount)publicCountDownLatch(intcount){if(count<0)thrownewIllegalArgumentException("count<0");this.sync=newSy

LVS负载均衡群集——LVS-NAT模式搭建和LVS-DR模式搭建

目录lvs工作模式1、NAT模式(VS-NAT)2、直接路由模式(VS-DR)3、IP隧道模式(VS-TUN)LVS调度算法LVS群集类型1)负载均衡群集LB2)高可用群集HA3)高性能运输群集HPCLVS-NAT模式搭建1、NFS部署2、web服务器部署(节点服务器)3、负载调度器配置4、使用客户端测试LVS-DR模

热文推荐