vue路由(路由基本使用,传参,多级路由)

目录

  • vue-router简介
  • 路由配置和使用
  • 嵌套(多级)路由
  • 路由传参
    • 方式1:路由的query参数
    • 方式2:路由的params参数
    • props配置
  • 命名路由
  • 取消路由组件在前进后退

vue-router简介

vue的一个插件库,专门用来实现SPA应用
在这里插入图片描述

路由配置和使用

vue2安装

npm i vue-router@3

vue3安装

npm i vue-router@4

在main.js引入(1,3句)
在这里插入图片描述
和vuex类似,在src创建router/index.js
再建立两个路由组件:
在这里插入图片描述
当然为了区分普通组件和路由组件,也可以把这两个路由组件放到pages文件夹下
在这里插入图片描述
在这里插入图片描述

src/router/index.js配置:

// 该文件专门用于创建整个应用的路由器
import VueRouter from 'vue-router'
//引入组件
import About from '../components/About'
import Home from '../components/Home'
//放到pages需要更换路径为../pages/About//创建并暴露一个路由器,`注意时routes不是routers`
export default new VueRouter({routes:[{path:'/about',component:About},{path:'/home',component:Home}]
})

App.vue中使用方式:
在这里插入图片描述

总览效果:
在这里插入图片描述

App.vue中应用:
1.路由标签
在这里插入图片描述
会自动转化为a标签,如果你不需要a标签(比如需要按钮等)后面会提到怎么使用

<router-link class="list-group-item" active-class="active" to="/about">About</router-link>
<router-link class="list-group-item" active-class="active" to="/home">Home</router-link>

2.展示
在这里插入图片描述

<router-view></router-view>

几个注意点:
在这里插入图片描述

嵌套(多级)路由

如下图,路由里面加路由
在这里插入图片描述
主要改变的地方在配置规则和使用时to需要加上父路径

router/index.js

// 该文件专门用于创建整个应用的路由器
import VueRouter from 'vue-router'
//引入组件
import About from '../pages/About'
import Home from '../pages/Home'
import News from '../pages/News'
import Message from '../pages/Message'//创建并暴露一个路由器
export default new VueRouter({routes:[{path:'/about',component:About},{path:'/home',component:Home,children:[{path:'news',component:News,},{path:'message',component:Message,}]}]
})

注意children中的path不需要在前面加上/

pages中新建两个子页面
在这里插入图片描述

使用组件时:
在这里插入图片描述

路由传参

方式1:路由的query参数

传参:
下面是遍历组件的messageList,并将每一次遍历的id,title传入路由子组件。传递的方法有两种,第一种用了模板字符串,不推荐。
在这里插入图片描述

收参:
访问$route.query
在这里插入图片描述

方式2:路由的params参数

params参数比query参数多一个修改配置的步骤:
在这里插入图片描述
有点像请求中的RESTful风格

传参:
这里有个坑:只能用name,不能用path
在这里插入图片描述
另外一个方式,使用模板字符串
在这里插入图片描述

收参:
在这里插入图片描述

props配置

如果params传参的时候传很多个,那么我就需要写很多个插值语法中的一长串或者许多计算属性。和vuex中map解决的问题有点像。props方法可以帮我们简化写法

设置props,一般在孩子路由组件中:
在这里插入图片描述
第一种只能传固定值,一般不使用
第二种使用params,也就是上面的第二种传参
第三种使用query,上面的第一种传参

在这里插入图片描述
接收:
在这里插入图片描述

命名路由

在routes中加入name中
在这里插入图片描述
在router-link中,可以使用名字简化路径,但只能在:to使用,不能在to使用:
在这里插入图片描述

取消路由组件在前进后退

在路由组件使用的时候加上replace即可,这个组件和组件下的子组件都不会被放到记录中
如:
依次点击
A组件->B组件->C组件->D组件
C组件加replace

最后在D组件点击页面返回一次在这里插入图片描述直接到B组件


下一节为编程式路由导航

本节源码

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器人系统ros2-开发实践04-ROS2 中 tf2的定义及示例说明

1. what ros2 tf2 &#xff1f; tf2的全称是transform2&#xff0c;在ROS&#xff08;Robot Operating System&#xff09;中&#xff0c;它是专门用于处理和变换不同坐标系间位置和方向的库。这个名字来源于“transform”这个词&#xff0c;表示坐标变换&#xff0c;而“2”则…

YOLOv8核心原理深度解析

YOLOv8源码地址: https://github.com/ultralytics/ultralytics 一、简介: 根据官方描述,Yolov8是一个SOTA模型,它建立在Yolo系列历史版本的基础上,并引入了新的功能和改进点,以进一步提升性能和灵活性,使其成为实现目标检测、图像分割、姿态估计等任务的最佳选择。其具体…

Content type ‘application/json;charset=UTF-8‘ not supported异常的解决过程

1.首先说明开发场景 *就是对该json格式数据传输到后台 后台实体类 import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import org.sp…

简单数据加解密,JS和JAVA同时实现

前端Vue调用Java后端接口中的数据进行加密&#xff0c;以避免敏感数据泄露。 现在实现一个高性能加密方法&#xff0c;用来对数据进行加密后传输。算法包括JS的加密和解密方法&#xff0c;也包括Java的加密解密方法。 可以在前端加密&#xff0c;后端解密。也可以在后端加密&…

CSS 伪类、伪元素的应用实例:电池充电、高能进度条

一、目的 本文通过 CSS 伪类、伪元素&#xff0c;结合动画 animation 和 Vue 动态样式属性&#xff08;通过 CSS 变量&#xff09;的写法&#xff0c;来实现电池充电、高能进度条的效果&#xff0c;如下图所示。 二、基础知识 1、CSS 伪类、伪元素 简单概括成以下 4 点&#x…

nginx缓存清理

背景 昨天打开我的gpt镜像网站&#xff0c;意外发现静态图片资源全都无法获取了 CoCo-AI 一番排查下来&#xff0c;发现是引用的cdn链接失效了 且cdn源是属于七牛云的&#xff0c;且不再维护&#xff0c;于是果断切换到cloudflare export function getEmojiUrl(unified: str…

nuxt3项目服务端bulid后在本地浏览的3种方式(nuxi preview、Node.js Server、PM2)

你也许会问有了开发调试本地浏览&#xff0c;为什么还要服务端构建之后在本地浏览&#xff1f; 举个简单例子 在 Nuxt 3 服务端打包中&#xff0c;由于运行环境不同&#xff0c;无法直接访问 process 对象。服务端打包通常是在 Node.js 环境中进行的&#xff0c;而 process 对象…

吴恩达深度学习笔记:深度学习的 实践层面 (Practical aspects of Deep Learning)1.11-1.12

目录 第二门课: 改善深层神经网络&#xff1a;超参数调试、正 则 化 以 及 优 化 (Improving Deep Neural Networks:Hyperparameter tuning, Regularization and Optimization)第一周&#xff1a;深度学习的 实践层面 (Practical aspects of Deep Learning)1.11 神经网络的权重…

【记录】Python3| 将 PDF 转换成 HTML/XML(✅⭐pdfminer.six)

本文将会被汇总至 【记录】Python3&#xff5c;2024年 PDF 转 XML 或 HTML 的第三方库的使用方式、测评过程以及对比结果&#xff08;汇总&#xff09;&#xff0c;更多其他工具请访问该文章查看。 注意&#xff01;pdfminer.six 和 pdfminer3k 不是同一个&#xff01;&#xf…

区块链 | 由外部实体导致的 NFT 安全问题

&#x1f98a;原文&#xff1a; Understanding Security Issues in the NFT Ecosystem &#x1f98a;警告&#xff1a; 本文只记录了原文的第 6 节。 1 问题描述 NFT 所指向的数字资产&#xff08;图片、视频等&#xff09;必须是可以访问的&#xff0c;这样 NFT 才具有意义…

Threejs制作服务器机房冷却结构

这节再绘制一个机房的结构&#xff0c;因为内容比较简单&#xff0c;就只使用一个章节来介绍&#xff0c; 先来一张效果图&#xff0c; 需要两个模型&#xff1a;一个冷却设备&#xff0c;一个服务器机箱&#xff0c;我这里是从网上找来的&#xff0c;首先我们搭建一个场景&a…

k8s环境prometheus operator监控集群外资源

文章目录 k8s环境添加其他节点基于prometheus operator k8s环境prometheus operator添加node-exporter方式一&#xff1a;通过 ServiceMonitor 方式可以写多个监控node节点运行 external-node.yaml查看资源有没有被创建热更新 外部需要被监控服务器安装 node-exporterdocker 方…