Vue--Router(路由)

news2024/9/21 14:43:35

目录

一 Router(路由)

1.作用

2.实现步骤

3.注意


一 Router(路由)

1.作用

        Router又叫做路由,简单来说,就是用来实现vue的页面之间跳转的。

        我们都知道,使用vue必然会涉及到很多个组件,也就是页面,而页面之间肯定需要切换,比如我点击一个按钮就需要切换另外一个组件(页面),这就是路由的作用。

        而且我们以前学过重定向等,也是页面跳转,我觉得区别就在于,路由是局部的页面切换。就是不会改变url重新加载一个网页,而是在一个网页上面显示不同的组件,你甚至可以控制这个新的页面切换在哪个位置。

2.实现步骤

 ①首先你需要创建一个vue/vite项目,然后在终端下载router

# npm安装
npm i vue-router
#yarn安装
yarn add vue-router

下载完成后,你可以在你的项目的node_modules目录下面看见vue-router目录:

② 你需要在src目录下面创建一个router文件夹,再在router文件夹下面创建一个index.js文件

③ 然后你需要在index.js文件中配置路由的信息,包括导入,配置组件路径,暴露路由等步骤,这这里我将简化后的模板总结出来了,可以直接导入按需求做修改

//vue-router配置文件
//1.从vue-router导入createRouter() 创建路由器对象
import { createRouter, createWebHistory, createWebHashHistory} from 'vue-router'

//2.配置路由规则: 给组件绑定url
const routes = [
    //默认路由
    {
        path:'/',
        //重定向
        redirect:'/index'
    },
    {
        path: "/index",
        component: ()=>import('../views/index.vue'),
        name:'indexPage',
        children:[  //配置子级路径
            {
                // 这是resful风格的url写法
                path:'/infor/:id' , 
                component:  ()=>import('../views/information.vue'),
                name:'infor',
            },
        ]
    },
    
    //配置404的组件
    {
        path:'/:pathMatch(.*)*', 
        component:  ()=>import('../views/NotFound.vue'),
        name:'notFound',
    }
];

//3.创建路由器对象
const router = createRouter({
        routes,  //路由规则
        history:  createWebHashHistory(),
        linkActiveClass:'active'
    });
//4. 把路由器对象暴露出去  其他组件文件,导入
export default router;

其实1,3,4步都是一样,就第二步配置路由需要按照自己修改,所以这里解释一下这里面的信息:

④ 在main.js文件里面导入router并且挂载。

⑤ 我们在src目录下面创建一个views文件夹,在下面创建我们需要的vue组件

 ⑥ 最后我们就可以按照需求通过路由实现各种组件的切换

3.注意

1.当我们使用resful路径去定位路由的时候,需要注意以下几点(含参数):

① 这是定位的写法:

② 配置路由的信息,path需要这样写:

③ 我们在对应的组件上,获取传来的id使用如下方式(区别传统路径获取id方式):

2.当我们使用传统带参数路径去定位路由的时候,需要注意以下几点(区别resful): 

① 这是定位的写法:

② 配置路由的信息,path需要这样写:

③ 我们在对应的组件上,获取传来的id使用如下方式(区别resful路径获取id方式):

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1930629.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mars3d实现GraphicLayer获取当前相机视角内的可视点位(矢量数据

效果: mars3d实现GraphicLayer获取当前相机视角内的可视点位(矢量数据 相关依赖api: 1. map.getExtent(); 提取地球当前视域边界,示例:{ xmin: 70, xmax: 140, ymin: 0, ymax: 55, height: 0, } 2.graphicLayer.eachGraphic遍…

Android12 MultiMedia框架之NuPlayer Surface

在学习NuPlayer创建Decoder和Renderer之前,得先看下video数据最终生产到什么地方去?答案是Surface,而且Surface是NuPlayer创建Decoder的条件。 APP会创建一层SurfaceView来显示视频层,同时内部会创建一个BLASTBufferQueue&#x…

睡前故事—绿色科技的未来:可持续发展的梦幻故事

欢迎来到《Bedtime Stories Time》。这是一个我们倾听、放松、并逐渐入睡的播客。感谢你收听并支持我们,希望你能将这个播客作为你睡前例行活动的一部分。今晚我们将讲述绿色科技的未来:可持续发展的梦幻故事的故事。一个宁静的夜晚,希望你现…

自适应简约大气科技数码产品公司网站源码系统 模版一键搭建 可自定义带源代码包以及搭建部署教程

系统概述 在当今这个数字化、信息化的时代,科技数码产品行业正处于高速发展的黄金时期。为了在这个竞争激烈的市场中脱颖而出,科技数码产品公司不仅需要拥有卓越的产品和技术,还需要一个能够完美展现其品牌形象和产品特色的网站。为此&#…

【PyTorch快速入门教程】02 Jupyter notebook安装及配置

文章目录 1 安装 Jupyter notebook2 安装 ipykernel3 更改 jupyter 默认配置3.1 生成配置文件3.2 关键配置信息 4 扩展插件推荐参考 1 安装 Jupyter notebook 一行命令搞定 python -m pip install jupyter 现在就可以打开Jupyter notebook来运行python啦。 jupyter notebook…

印尼语翻译通:AI驱动的智能翻译与语言学习助手

在这个多元文化交织的世界中,语言是连接我们的桥梁。印尼语翻译通,一款专为打破语言障碍而生的智能翻译软件,让您与印尼语的世界轻松接轨。无论是商务出差、学术研究,还是探索印尼丰富的文化遗产,印尼语翻译通都是您的…

自动驾驶系列—智能巡航辅助功能中的车道中央保持功能介绍

文章目录 1. 背景介绍2. 功能定义3. 功能原理4. 传感器架构5. 实际应用案例5.1 典型场景1:直道内行驶5.1.1 直道内居中行驶5.1.2 直道内跟车行驶 5.2 典型场景2:弯道内行驶5.2.1 弯道内居中行驶5.2.2 弯道内跟车行驶 5.3 典型场景3:道路边缘5…

【Godot4.2】MLTag类:HTML、XML通用标签类

概述 HTML和XML采用类似的标签形式。 之前在Godot中以函数库形式实现了网页标签和内容生成。能用,但是缺点也很明显。函数之间没有从属关系,但是多有依赖,而且没有划分出各种对象和类型。 如果以完全的面向对象形式来设计标签类或者元素类…

【Android】常见控件及使用

视图的设置 控件与布局都继承于视图,因此视图的设置方式对其作用都是一样的,接下来就先讲述视图的不同设置方式 设置视图的宽高: 对视图的宽高进行设置,首先确保XML中的宽高属性值为wrap_content,接着打开该页面对应…

MySQL第七次作业

Product表内容 字段名 字段描述 数据类型 主键 外键 非空 唯一 自增 Id 产品编号 Int(10) 是 否 是 是 否 Name 产品功能 Varchar(20) 否 否 是 否 否 Function 主要功能 Varchar(50) 否 否 否 否 否 Company 生产厂家 Varchar(20) 否 否 是 否 否 Address 家庭住址 Varchar(20…

VS2022配置Qt环境

文章目录 前言VS2022写Qt的好处下载插件前提条件离线下载在线安装配置VS For Qt 创建项目总结 前言 在许多开发环境中,Visual Studio 2022(VS2022)和Qt都是非常重要的工具。VS2022是微软开发的一款强大的集成开发环境(IDE&#x…

学习面向对象笔记

1. 面向对象三大特性 特性说明例子接口作为方法的标识,只要调用即可,不需要关心接口后是怎样实现的最常见的USB接口,只要插上对应的鼠标、键盘就可以使用,因为他们都是统一使用这个USB接口的继承子类继承父类的功能,子…

React工程化笔记

脚手架可以帮助我们快速的搭建一个项目结构,在我们之前学习 webpack 的过程中,每次都需要配置 webpack.config.js 文件,用于配置我们项目的相关 loader 、plugin,这些操作比较复杂,但是它的重复性很高,而且…

Spring Cloud Eureka快读入门Demo

1.什么是Eureka? Eureka 由 Netflix 开发,是一种基于REST(Representational State Transfer)的服务,用于定位服务(服务注册与发现),以实现中间层服务的负载均衡和故障转移&#xff…

弹性网络回归(Elastic Net Regression)

弹性网络回归(Elastic Net Regression)的详细理论知识推导 理论背景 弹性网络回归结合了岭回归(Ridge Regression)和Lasso回归(Lasso Regression)的优点,通过引入两个正则化参数来实现特征选择…

vue3+TS从0到1手撸后台管理系统

1.路由配置 1.1路由组件的雏形 src\views\home\index.vue(以home组件为例) 1.2路由配置 1.2.1路由index文件 src\router\index.ts //通过vue-router插件实现模板路由配置 import { createRouter, createWebHashHistory } from vue-router import …

解决jupyter argparse报错

jupyter argparse报错 文章目录 一、jupyter argparse报错 一、jupyter argparse报错 args parser.parse_args()这行代码改为: args parser.parse_args(args[])完整的代码为: import argparseparser argparse.ArgumentParser() parser.add_argumen…

【Dison夏令营 Day 21】用Python编写绘图

绘画 - 在屏幕上绘制线条和形状。单击标记形状的起点,再次单击标记形状的终点。可使用键盘选择不同的形状和颜色。 """Paint, for drawing shapes.Exercises1. Add a color. 2. Complete circle. 3. Complete rectangle. 4. Complete triangle. 5. A…

DICOM CT\MR片子免费在线查看工具;python pydicom包加载查看;mayavi 3d查看

DICOM CT\MR片子免费在线查看工具 参考: https://zhuanlan.zhihu.com/p/668804209 dicom格式: DICOM(Digital Imaging and Communications in Medicine)是医学数字成像和通信的标准。它定义了医学图像(如CT、MRI、X…

MySQL ON DUPLICATE KEY UPDATE影响行数

背景 经常使用 ON DUPLICATE KEY UPDATE 来插入数据或者更新已存在的记录(不推荐,如性能问题),今天联调时发现使用到 MySQL 一个 INSERT ... ON DUPLICATE KEY UPDATE 的语法,明明只更新了两条记录,返回的…