Vue Router 中 router、route 和 routes 的区别 - 2024最新版前端秋招面试短期突击面试题【100道】

news/2024/11/8 4:35:42/

Vue Router 中 router、route 和 routes 的区别 - 2024最新版前端秋招面试短期突击面试题【100道】 🛤️

在Vue.js中,使用Vue Router进行页面路由管理时,routerrouteroutes 是三个非常重要且常用的概念。理解它们的区别对于有效管理路由至关重要。以下是这三者的详细对比。

1. router

定义

  • router 是 Vue Router 的实例。它是一个全局的路由实例,负责管理整个应用的路由。

功能

  • 通过 router,你可以调用诸如 push()replace()go() 等导航方法来控制路由的跳转。

使用

  • 通常在 Vue 应用创建时,通过 new VueRouter({ routes }) 创建,并在 Vue 实例中通过 router 选项注入到每个组件中,使得组件内部可以通过 this.$router 访问路由实例。

示例代码

import Vue from 'vue';
import VueRouter from 'vue-router';Vue.use(VueRouter);const router = new VueRouter({routes: [{ path: '/home', component: Home },{ path: '/about', component: About }]
});// 在 Vue 实例中使用 router
new Vue({router,render: h => h(App)
}).$mount('#app');

2. route

定义

  • route 是当前激活的路由对象,包含了当前路由的详细信息,如路径、参数、查询参数等。

功能

  • 你可以通过 route 来获取当前路由的路径(path)、名称(name)、参数(params)、查询参数(query)等。

使用

  • 在组件内部,你可以通过 this.$route 来访问当前路由对象。

示例代码

export default {computed: {currentPath() {return this.$route.path; // 获取当前路由的路径},currentQuery() {return this.$route.query; // 获取当前路由的查询参数}}
};

3. routes

定义

  • routes 是一个数组,包含了所有的路由配置信息。每个路由配置都是一个对象,定义了路由的路径(path)、组件(component)、名称(name)、子路由(children)等。

功能

  • routes 数组定义了应用中所有可能的路由路径和对应的组件。

使用

  • 在创建 Vue Router 实例时,routes 作为配置对象的 routes 属性传递给 Vue Router。

示例代码

const routes = [{ path: '/home', component: Home },{ path: '/about', component: About }
];const router = new VueRouter({routes // 将routes数组传递给VueRouter
});

总结 📝

区别概述

  • router:全局的路由实例,负责路由的管理和跳转。
  • route:当前激活的路由对象,包含当前路由的详细信息。
  • routes:定义所有路由路径和对应组件的数组。

理解这三者的作用和用法,将帮助你在Vue应用中更有效地管理路由,提高开发效率。在面试中能够清晰地解释这些概念,将使你更具竞争力!希望你能顺利应对相关问题,成功上岸!


http://www.ppmy.cn/news/1545255.html

相关文章

可信度模型

1. 阈值可信度模型 1️⃣表示不确定性:IF E THEN H(CF(H,E),λ) C F ( E ) ∈ [ 0 , 1 ] CF(E)\in{[0,1]} CF(E)∈[0,1]:证据 E E E的可信度, C F ( E ) 1 / 0 CF(E)1/0 CF(E)1/0表示证据绝对存在/不存在 C F ( H , E ) ∈ [ 0 , 1 ] CF(H,E…

stm32不小心把SWD和JTAG都给关了,程序下载不进去,怎么办?

因为想用STM32F103的PA15引脚,调试程序的时候不小心把SWD和JTAD接口都给关了,先看下罪魁祸首 GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);//关掉JTAG,不关SWGPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);//关掉SW&am…

【AD】3-2 原理图绘制格点的调整与推荐设置

1.点击工具,选择原理图优先项,如图设置 2.画原理图之前,选中原理图,也可以快捷键vgs,设置栅格为100mil,并画原理图是元器件管脚放置在格点上 3.通过改选项设置格点显示与不显示

.Net IOC理解及代码实现

IOC理解 IoC(Inversion of Control):即控制反转,这是一种设计思想,指将对象的控制权交给IOC容器,由容器来实现对象的创建、管理,程序员只需要从容器获取想要的对象就可以了。DI(Dependency Injection),即依…

MySQL 数据库之库操作

文章目录 1. 什么是数据库2. 基础概念2.1 连接数据库2.2 服务器,数据库,表关系2.3 SQL分类 3. 库的操作3.1 创建,选择,查看数据库3.2 字符集和默认校验规则 3.3 操纵数据库3.3.1 数据库查看3.3.2 数据库删除3.3.3 数据库修改 4. 其…

3D区块渐变围栏

这里主要用到的就是threejs的shader,至于其他知识点,可以参考json绘制3d地区 下面的主要代码: import * as THREE from three; import { OrbitControls } from three/addons/controls/OrbitControls.js import { EffectComposer } from th…

深入理解 lsof:Linux 系统中的文件打开状态洞察者

在 Linux 系统管理和故障排除中,lsof 命令是一个强大的工具,它能够列出系统中所有打开的文件以及与之相关的进程信息。本文将深入探讨 lsof 命令的各个方面,包括其功能、用法、示例、注意事项以及与其他工具的配合使用。 一、lsof 简介 lso…

ubuntu 异常 断电 日志 查看

sudo less /var/log/syslog 搜 Linux version