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

Vue Router 使用教程

Vue Router 是 Vue.js 的官方路由管理器,它提供了一种方便的方式来管理应用的路由。在本教程中,我们将介绍 Vue Router 的一些常见用法和示例。

一、安装 Vue Router

使用 Vue Router 之前,需要先安装它。可以使用以下命令通过 npm 安装:

npm install vue-router

或者使用以下命令通过 yarn 安装:

yarn add vue-router

二、创建路由配置

在使用 Vue Router 之前,需要创建一个路由配置。路由配置是一个数组,其中包含了应用的所有路由。每个路由都有一个路径和一个组件。

以下是一个简单的路由配置示例:

import Vue from 'vue'
import VueRouter from 'vue-router'// 1. 定义路由组件
const Home = () => import('../views/Home.vue')
const About = () => import('../views/About.vue')// 2. 定义路由配置
const routes: VueRouter.RouteConfig[] = [{path: '/',name: 'Home',component: Home},{path: '/about',name: 'About',component: About}
]// 3. 创建路由实例
const router = VueRouter.createRouter({history: VueRouter.createWebHashHistory(),routes
})// 4. 导出路由实例
export default router

在上述代码中,我们首先定义了两个路由组件 HomeAbout。然后,我们定义了一个路由配置 routes,其中包含了两个路由://about。最后,我们创建了一个路由实例 router,并将其导出。

三、使用路由

在组件中使用路由非常简单。我们只需要在组件的模板中使用 <router-link> 组件来创建链接,使用 <router-view> 组件来显示当前路由对应的组件。

以下是一个简单的组件示例:

<template><div><h1>My App</h1><ul><li><router-link to="/">Home</router-link></li><li><router-link to="/about">About</router-link></li></ul><router-view /></div>
</template>

在上述代码中,我们在组件的模板中创建了两个链接:HomeAbout。当用户点击这些链接时,路由会导航到相应的路径,并显示对应的组件。

四、动态路由匹配

Vue Router 支持动态路由匹配。我们可以在路由路径中使用冒号 : 来定义动态参数。

以下是一个动态路由匹配的示例:

{path: '/user/:id',name: 'User',component: User
}

在上述代码中,/user/:id 是一个动态路由,其中 :id 是一个动态参数。我们可以在组件中使用 $route.params.id 来获取该参数的值。

五、嵌套路由

Vue Router 支持嵌套路由。我们可以在路由配置中定义子路由。

以下是一个嵌套路由的示例:

{path: '/parent',name: 'Parent',component: Parent,children: [{path: 'child',name: 'Child',component: Child}]
}

在上述代码中,我们定义了一个父路由 /parent,它包含一个子路由 /parent/child。当用户导航到 /parent 时,会显示 Parent 组件,当用户导航到 /parent/child 时,会显示 Child 组件。

六、路由懒加载

当应用的路由较多时,一次性加载所有路由可能会导致应用启动缓慢。为了提高应用的性能,我们可以使用路由懒加载。

以下是一个路由懒加载的示例:

{path: '/',name: 'Home',component: () => import('../views/Home.vue')
}

在上述代码中,我们使用 () => import('../views/Home.vue') 来动态加载 Home 组件。这样,只有当用户导航到 / 时,才会加载 Home 组件。

七、路由过渡效果

Vue Router 支持路由过渡效果。我们可以在路由配置中定义路由过渡效果。

以下是一个路由过渡效果的示例:

{path: '/',name: 'Home',component: Home,meta: {transition: 'fade'}
}

在上述代码中,我们在路由配置中定义了一个路由过渡效果 fade。在组件的模板中,我们可以使用 <transition> 组件来应用路由过渡效果。

八、导航守卫

Vue Router 支持导航守卫。导航守卫可以在路由导航之前或之后执行一些逻辑。

以下是一个导航守卫的示例:

router.beforeEach((to, from, next) => {// 登录验证逻辑if (!isLoggedIn && to.path!== '/login') {next('/login');} else {next();}
});

在上述代码中,我们定义了一个全局导航守卫。在导航之前,会检查用户是否登录。如果用户未登录,并且要访问的路径不是 /login,则会导航到 /login。如果用户已登录,或者要访问的路径是 /login,则会继续导航。

常用的调用ts示例:

	import { useRouter } from 'vue-router'const router = useRouter();//设置路由router.push("/admin/index/index")//获取路由console.log(router.currentRoute.value.path)

九、总结

在本教程中,我们介绍了 Vue Router 的一些常见用法和示例。Vue Router 是 Vue.js 的官方路由管理器,它提供了一种方便的方式来管理应用的路由。通过使用 Vue Router,我们可以实现路由的动态匹配、嵌套路由、路由懒加载、路由过渡效果和导航守卫等功能。

相关文章:

Vue Router 使用教程

Vue Router 是 Vue.js 的官方路由管理器&#xff0c;它提供了一种方便的方式来管理应用的路由。在本教程中&#xff0c;我们将介绍 Vue Router 的一些常见用法和示例。 一、安装 Vue Router 使用 Vue Router 之前&#xff0c;需要先安装它。可以使用以下命令通过 npm 安装&am…...

银河麒麟解压命令

银河麒麟&#xff08;Kylin&#xff09;操作系统是基于Linux的操作系统分支之一&#xff0c;其使用的解压命令与Linux系统中的命令基本相同。 在银河麒麟系统中&#xff0c;常用的解压命令有以下几种&#xff1a; 对于.tar文件&#xff1a; tar -xvf file.tar对于.tar.gz或.…...

VSCode打开文件总是在当前标签页打开,不是新增标签页

修改 VS Code 设置 打开设置&#xff1a; 按 Ctrl , 或者点击右下角的齿轮图标&#xff0c;然后选择 “Settings”。 搜索设置&#xff1a; 在设置搜索栏中输入 workbench.editor.enablePreview。 禁用预览模式&#xff1a; 找到 Workbench > Editor: Enable Preview 选…...

Django redirect()函数实现页面重定向

1&#xff0c;通过路由反向解析进行重定向 1.1 添加视图函数 myshop/app2/views.py from django.http import HttpResponse from django.shortcuts import render from django.urls import reverse def index(request):return HttpResponse("app2 的index")# 反向…...

【运维项目经历|029】NTP精准时间同步系统优化项目

🍁博主简介: 🏅云计算领域优质创作者 🏅2022年CSDN新星计划python赛道第一名 🏅2022年CSDN原力计划优质作者 🏅阿里云ACE认证高级工程师 🏅阿里云开发者社区专家博主 💊交流社区:CSDN云计算交流社区欢迎您的加入! 目...

机房网络运维服务项目难点与关键点分析

随着信息技术的飞速发展&#xff0c;机房作为支撑企业信息化建设的核心枢纽&#xff0c;其网络运维服务的重要性日益凸显。然而&#xff0c;在实际运维过程中&#xff0c;运维团队常常面临诸多难点和挑战。本文将围绕机房网络运维服务项目的难点和关键点进行深入分析&#xff0…...

MKS AX7680 SERIES 电源使用说明手侧

MKS AX7680 SERIES 电源使用说明手侧...

DVWA-XSS(Reflected)

反射型XSS可以用来窃取cookie Low 输入1111进行测试&#xff0c;发现1111被打印 输入<script>alert(document.cookie)</script>&#xff0c;出现弹窗&#xff0c;获得cookie Medium 查看后端代码&#xff0c;发现对<script>进行了转义&#xff0c;但是…...

Python自动化办公2.0 即将发布

第一节课&#xff1a;数据整理与清洗 第二节课&#xff1a;数据筛选、过滤与排序 第三节课&#xff1a;高级数据处理技巧 第四节课&#xff1a;数据可视化与实践案例 第五节课&#xff1a;统计分析与报表 第六节&#xff1a;常见的Excel报表 与下方的课程形成知识体系&…...

【面试宝藏】Redis 常见面试题解析其二

Redis 高级面试题解析 20. 说说 Redis 哈希槽的机制&#xff1f; Redis 集群采用哈希槽&#xff08;Hash Slot&#xff09;机制来分布和管理数据。整个哈希空间被划分为 16384 个槽&#xff0c;每个键通过 CRC16 校验后取模映射到一个哈希槽。每个节点负责一部分哈希槽&#…...

智慧公厕厂家+智能厕所小程序,构建数字化公厕新体系

在现代社会的诸多场景中&#xff0c;公厕扮演着重要却常常被忽视的角色。尤其是在传统的楼宇中&#xff0c;公厕存在着一系列痛点问题。 一、传统公厕问题 传统楼宇公厕常常面临着布局不合理的困境&#xff0c;导致使用者寻找困难&#xff0c;浪费时间和精力。卫生状况也是一大…...

使用迁移助手 (SSMA for Oracle) 将Oracle19c数据库迁移到SQL Server2022

如何使用适用于 Oracle 的 SQL Server 迁移助手Microsoft SQL Server Migration Assistant for Oracle (SSMA for Oracle) 将 Oracle 数据库迁移到 SQL Server Microsoft SQL Server Migration Assistant (SSMA) for Oracle is a tool to automate migration from Oracle data…...

LabVIEW开发EOL功能测试系统

LabVIEW开发EOL功能测试系统 介绍了一种基于LabVIEW开发的EOL功能测试系统方案&#xff0c;涵盖软件架构、工作流程、模块化设计、低耦合性、易于修改与维护、稳定性及硬件选型。系统通过高效的CAN通信实现对电机控制器的全面测试&#xff0c;确保运行可靠并支持未来的升级需求…...

Java finally catch try关键字

Java finally catch try关键字 finally&#xff1a; finally 关键字用来创建在 try 代码块后面执行的代码块&#xff1b;无论是否发生异常&#xff0c;finally 代码块中的代码总会被执行。 在 finally 代码块中&#xff0c;可以进行文件流关闭等收尾善后性质的语句 catch&am…...

docker安装mysql8和mysql5.7

1.docker安装mysql5.7,请点击此链接 2.docker安装mysql8并挂载数据卷 docker pull mysql:8.0 docker run --name mysql8 -e MYSQL_ROOT_PASSWORDmy-secret-pw -d mysql:8.0 docker run --name mysql8 -e MYSQL_ROOT_PASSWORD123456 -v /mqq/mysql8/datadir:/var/lib/mysql -d…...

通过一个例子,说明Python的责任链设计模式有什么优缺点

责任链设计模式&#xff08;Chain of Responsibility Pattern&#xff09;是一种行为设计模式&#xff0c;它允许将一个请求沿着处理者链进行传递&#xff0c;直到有一个处理者处理它为止。在Python中&#xff0c;这种模式可以通过多种方式实现&#xff0c;通常涉及到一系列对象…...

场地预定小程序基于FastAdmin+UniApp

本文来自&#xff1a;XYvenue场地预定小程序基于FastAdminUniApp - 源码1688 应用介绍 XYvenue是基于FastAdminUniApp开发的多场馆场地预定小程序&#xff0c;提供运动场馆运营解决方案&#xff0c;适用于体育馆、羽毛球馆、兵乒球馆、篮球馆、网球馆等场馆。 前端演示&#xf…...

CrossPrefetch: Accelerating I/O Prefetching for Modern Storage——论文泛读

ASPLOS 2024 Paper 论文阅读笔记整理 问题 目前计算设备和存储设备之间的性能差距仍然很大。因此&#xff0c;主内存缓存和缓冲区被广泛用于操作系统、用户级文件系统[32]和I/O运行时&#xff0c;在隐藏性能差距和减少I/O瓶颈方面发挥关键作用[23&#xff0c;26&#xff0c;3…...

详解 Spark Streaming 的 DStream 对象

一、DStream 的创建 1. 通过 RDD 队列 DStream 在内部实现上是一系列连续的 RDD 来表示。每个 RDD 包含有采集周期内的数据 /** 基本语法&#xff1a;StreamingContext.queueStream(queueOfRDDs: Queue, oneAtATime false) */ object DStreamFromRddQueue {def main(args: Ar…...

QT常用控件

目录 1.控件概述 2. QWidget 核⼼属性 设置组件是否可用 获取组件当前位置和尺⼨ QWidget的图标 组件的透明度设置 QWidget光标的设置 字体的设置 组件提示 设置组件获取到焦点的策略 stylesheet样式表 3.常用组件 QPushButton RadioButton Check Box QLabel …...

如何解决chatgpt出现503 bad gateway的问题

昨日&#xff0c;ChatGPT官网挂了&#xff0c;也就是使用web网页端访问的用户&#xff0c;会出现 bad gateway 情况。我们去ChatGPT官方的监控查看&#xff0c;已经展示相关错误。 影响的范围有&#xff1a; 影响了 ChatGPT 所有计划的所有用户。影响包括所有与 ChatGPT 相关…...

Halcon 双相机标定与拼图(二)

一、概述 这种标定有两种模式&#xff0c;有一个标定板和多个标定板两种 一个标定板 两个相机的重叠区域比较大&#xff0c;那么我们可以把标定板放到那个重叠区域来统一坐标系&#xff0c;如下 这种是只需要一个标定板&#xff0c;这种是推荐的方式 。这种是比较简单的&…...

【加密与解密】【04】Java安全架构

JAVA安全模块划分 JCA&#xff0c;Java Cryptography Architecture&#xff0c;Java加密体系结构JCE&#xff0c;Java Cryptography Extension&#xff0c;Java加密扩展包JSSE&#xff0c;Java Secure Sockets Extension&#xff0c;Java安全套接字扩展包JAAS&#xff0c;Java…...

论文阅读:Neural Scene Flow Prior

目录 概要 Motivation 整体架构流程 技术细节 小结 论文地址:...

如何通过 6 种简单方法将照片从华为转移到 PC?

华为作为全球领先的智能手机供应商之一&#xff0c;最近推出了其自主研发的操作系统——HarmonyOS 2.0&#xff0c;旨在为智能手机、平板电脑和智能手表等设备提供更流畅的用户体验。随着Mate 40/P40等系列手机计划升级到HarmonyOS 2.0&#xff0c;用户可能需要将手机中的文件备…...

QtCharts使用

1.基础配置 1.QGraphicsView提升为QChartView#include <QtCharts> QT_CHARTS_USE_NAMESPACE #include "ui_widget.h"2. QT charts 2.柱状图 2.1QBarSeries //1.创建Qchart对象QChart *chart new QChart();chart->setTitle("直方图演示");//设…...

深入分析 Flink SQL 工作机制

摘要&#xff1a;本文整理自 Flink Forward 2020 全球在线会议中文精华版&#xff0c;由 Apache Flink PMC 伍翀&#xff08;云邪&#xff09;分享&#xff0c;社区志愿者陈婧敏&#xff08;清樾&#xff09;整理。旨在帮助大家更好地理解 Flink SQL 引擎的工作原理。文章主要分…...

Spring Bean参数校验Validator

Spring Bean参数校验Validator 以下2种方式可以用于所有的 Spring bean 不仅仅是 Controller 控制器。 一、原始类型参数 在控制器&#xff08;或者其他Bean&#xff09;上使用Validated注解。 控制器类 RestController RequestMapping("account") Validated pub…...

AOP案例

黑马程序员JavaWeb开发教程 文章目录 一、案例1.1 案例1.2 步骤1.2.1 准备1.2.2 编码 一、案例 1.1 案例 将之前案例中增、删、改相关节后的操作日志记录到数据库表中。 操作日志&#xff1a;日志信息包含&#xff1a;操作人、操作时间、执行方法的全类名、执行方法名、方法…...

Facebook海外户Facebook广告被暂停的原因

有很多伙伴在Facebook广告时&#xff0c;有时会遇到账号被暂停&#xff0c;并通知你违反了哪些规则&#xff0c;那么Facebook广告被暂停的原因有哪些呢&#xff1f;今天小编详细梳理了一些原因&#xff0c;可以往下看哦~ 您的Facebook广告被暂停可能有以下几个原因&#xff1a…...

青岛外贸网站制作公司/dw网站制作

问题描述&#xff1a; 假设在数据库中存在以下两张数据表&#xff1a; User表&#xff0c;存放用户的基本信息&#xff0c;基本结构如下所示&#xff1a; 类型说明ID_Userint自动增长字段&#xff0c;用作该表的主键UserNamevarchar UserDepart表&#xff0c;存放用户所拥有的部…...

wordpress图片转文字/深圳网站建设开发公司

大家好&#xff0c;我是帅东哥。 近几年国内数据科学、机器学习技术的应用和覆盖越来越广&#xff0c;而且普及的脚步也越来越快。一个明显的现象就是各种竞赛的层出不穷&#xff0c;各大互联网公司、高校、平台机构都开始组织数据科学竞赛了&#xff0c;比较有名的有腾讯广告…...

微信网站这么做/今日热点新闻事件摘抄50字

MSYS2是Windows下的一个工具&#xff0c;可以通过模拟Linux接口运行一部分Linux软件&#xff0c;是MinGW的增强版、Cygwin的轻量版。这篇文章介绍在VS Code中集成MSYS2的方法。配置Shell集成如果想把默认Shell直接换成MSYS2&#xff0c;只需进行如下设置&#xff1a;{"ter…...

做兼职在线抠图网站/广告投放平台有哪些

亲爱的玩家&#xff1a;大家好&#xff01;为了更新游戏内容&#xff0c;提升游戏体验&#xff0c;7k7k《剑灵洪门崛起》将于10月10日7:00-8:00对所有服务器进行更新维护&#xff0c;维护期间无法登陆游戏&#xff0c;维护时间预计1小时。如果在维护期间无法完成维护相关事宜&a…...

企业建立网站的原因/2023年5月疫情爆发

我们在开发过程中,我们有的时候过滤往往是需要全局使用的,过滤器的使用还是非常常用的,今天我们就从0开始搭建我们的项目,建立一个全局的filter的使用,在uni-app的开发,建立一个全局的filter还是非常有必要的. 比如后端给我们的时间有问题,那么我们可能就需要多处的使用, 下面写…...

ps毕业设计做网站界面/seo站长网怎么下载

uac 和 uas 都加上 -deadcall_wait 0 转载于:https://www.cnblogs.com/luoyinjie/p/7219367.html...