前端Vue入门-day06-路由进阶

news2024/9/20 20:27:27

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹)

目录

路由的封装抽离

声明式导航

导航链接 

两个类名 

自定义高亮类名 

跳转传参

1. 查询参数传参

2. 动态路由传参

两种传参方式的区别 

Vue路由 

重定向

404

编程式导航

基本跳转

路由传参 

① path 路径跳转传参 

② name 命名路由跳转传参 


 

路由的封装抽离

问题:所有的路由配置都堆在main.js中合适么?
目标:将路由模块抽离出来。 好处: 拆分模块,利于维护

绝对路径:@指代src目录,可以用于快速引入组件

import Find from '@/views/Find'
import My from '@/views/My'
import Friend from '@/views/Friend'

import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter) // VueRouter插件初始化

// 创建了一个路由对象
const router = new VueRouter({
  // routes 路由规则们
  // route  一条路由规则 { path: 路径, component: 组件 }
  routes: [
    { path: '/find', component: Find },
    { path: '/my', component: My },
    { path: '/friend', component: Friend },
  ]
})

export default router

声明式导航

导航链接 

需求:实现导航高亮效果  
vue-router 提供了一个全局组件 router-link (取代 a 标签)
① 能跳转 ,配置 to 属性指定路径( 必须 ) 。 本质还是 a 标签 , to 无需 #
② 能高亮, 默认就会提供 高亮类名 ,可以直接设置高亮样式

两个类名 

说明:我们发现 router-link 自动给当前导航添加了 两个高亮类名
① router-link-active 模糊匹配 (用的多)
        to="/my" 可以匹配 /my /my/a /my/b ....
② router-link-exact-active 精确匹配
        to="/my" 仅可以匹配 /my

自定义高亮类名 

说明:router-link 的 两个高亮类名 太长了,我们希望能定制怎么办?  

跳转传参

目标:在跳转路由时, 进行传值
1. 查询参数传参
2. 动态路由传参

1. 查询参数传参

① 语法格式如下
        to="/path ?参数名=值 "
② 对应页面组件接收传递过来的值
        $route. query.参数名
<router-link to="/search?key=小周不摆烂">小周不摆烂</router-link>
<script>
export default {
  name: 'MyFriend',
  created () {
    // 在created中,获取路由参数
    // this.$route.query.参数名 获取
    console.log(this.$route.query.key);
  }
}
</script>

2. 动态路由传参

① 配置动态路由
② 配置导航链接
        to="/path /参数值 "
③ 对应页面组件接收传递过来的值
        $route. params.参数名

两种传参方式的区别 

1. 查询参数传参 (比较适合传 多个参数 )
        ① 跳转:to="/path ?参数名=值&参数名2=值 "
        ② 获取:$route.query.参数名
2. 动态路由传参 ( 优雅简洁 ,传单个参数比较方便)
        ① 配置动态路由:path: "/path/参数名"
        ② 跳转:to="/path /参数值 "
        ③ 获取:$route.params.参数名

Vue路由 

重定向

问题: 网页打开, url 默认是 / 路径,未匹配到组件时,会出现空白
说明: 重定向 → 匹配path后, 强制跳转path路径
语法: { path: 匹配路径, redirect: 重定向到的路径 },
// 创建了一个路由对象
const router = new VueRouter({
  routes: [
    { path: '/', redirect: '/home' },
    { path: '/home', component: Home },
    { path: '/search/:words?', component: Search }
  ]
})

404

作用: 当路径找不到匹配时,给个提示页面
位置: 配在路由最后
语法:path: "*" (任意路径) – 前面不匹配就命中最后这个

 

编程式导航

基本跳转

问题:点击按钮跳转如何实现?
编程式导航:用JS代码来进行跳转
两种语法:
        ① path 路径跳转 (简易方便)
        ② name 命名路由跳转

路由传参 

两种传参方式:查询参数 + 动态路由传参
两种跳转方式,对于两种传参方式都支持:
① path 路径跳转传参
② name 命名路由跳转传参

① path 路径跳转传参 

query传参

动态路由传参

 

② name 命名路由跳转传参 

 query传参

 动态路由传参

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

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

相关文章

Mysql-学习笔记

文章目录 1. 数据库1.1 Mysql安装及常用代码1.2 SQL介绍1.3 SQL分类1. DDL-操作数据库&#xff0c;表2. DML-对表中的数据进行增删改3. DQL-对表中的数据进行查询条件查询模糊查询排序查询分组查询分页查询 4. DCL-对数据库进行权限控制外键约束表关系-多对多多表查询事务 1. 数…

netty chinaread 不执行 的总结

netty chinaedred 不执行 目录概述需求&#xff1a; 设计思路实现思路分析1.netty chinaedred 拓展实现性能参数测试&#xff1a; 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0c;skip hardness…

登月再进一步:Apollo自动驾驶的里程碑

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 「推荐专栏」&#xff1a; ★java一站式服务 ★ ★前端炫酷代码分享 ★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff0c;vue成神之路★ ★ 解决算法&#xff0c;一个专栏就够了★ ★ 架…

某某儿科医院APP登陆与抢票分享

1. 背景 近期到了暑假&#xff0c;儿保的票是越来越难抢了。卡着点也不能刷得到&#xff0c;有天偶然打开发现某个热门门诊突然有一个票&#xff0c;然后就帮人挂到了。琢磨一下&#xff0c;这种不是秒杀的抢票&#xff0c;如果能把所有取消的捡漏刷到&#xff0c;其实问题也不…

【Leecode】交替合并字符串- join

题目 给你两个字符串 word1 和 word2 。请你从 word1 开始&#xff0c;通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长&#xff0c;就将多出来的字母追加到合并后字符串的末尾。 返回 合并后的字符串 。 错误1 class Solution:def mergeAlternately(self, w…

微信小程序防盗链referer问题处理

公司使用百度云存储一些资源&#xff0c;然后现在要做防盗链&#xff0c;在CDN加入Referer白名单后发现PC是正常的&#xff0c;微信小程序无法正常访问资源了。然后是各种查啊&#xff0c;然后发现是微信小程序不支持Referer的修改&#xff0c;且在小程序开发工具是Referer是固…

想要对象吗?教你如何用C++new一个完美的对象(内存管理)

目录 一、C/C内存分布 1. 栈&#xff08;Stack&#xff09; 2. 堆&#xff08;Heap&#xff09; 3. 全局区/静态区&#xff08;Global Area/Static Area&#xff09; 4. 常量区&#xff08;Constant Area&#xff09; 5. 代码区&#xff08;Code Area&#xff09; 二、C…

智安网络|应对政务行业数字化转型中的数据隐私和网络攻击风险

政务数据共享安全咨询规划 每个政府部门面临的风险场景、合规要求都有所不同&#xff0c;因此首先需要通过数据安全咨询规划&#xff0c;完善数据安全制度规范&#xff0c;结合政务数据的实际业务需求&#xff0c;建立健全政务数据共享开放的全流程安全管理制度&#xff0c;明…

深度学习——注意力机制、自注意力机制

什么是注意力机制&#xff1f; 1.注意力机制的概念&#xff1a; 我们在听到一句话的时候&#xff0c;会不自觉的捕获关键信息&#xff0c;这种能力叫做注意力。 比如&#xff1a;“我吃了100个包子” 有的人会注意“我”&#xff0c;有的人会注意“100个”。 那么对于机器来说…

MySQL处理客户端请求

文章目录 一、连接管理二、解析与优化1、查询缓存2、语法解析3、查询优化 简单来说 MySQL 主要分为 Server 层和存储引擎层&#xff1a; Server 层&#xff1a;主要包括连接器、查询缓存、分析器、优化器、执行器等&#xff0c;所有跨存储引擎的功能都在这一层实现&#xff0c…

【Shell】Shell编程之文本处理器——awk

sed可以对文本内容进行增删改查 主要使用的是改和查&#xff1b;查使用grep&#xff0c;正则表达式使用grep -E更好 awk是文本三剑客中最强大的文本工具&#xff1b; awk也是按行进行操作&#xff1b;对行操作完之后可以根据指定命令来取列 awk的分隔符&#xff1a;默认为 &…

Linux第七章之gdb与makefile使用

一、Linux调试器-gdb使用 1.1背景 程序的发布方式有两种&#xff0c;debug模式和release模式Linux gcc/g出来的二进制程序&#xff0c;默认是release模式要使用gdb调试&#xff0c;必须在源代码生成二进制程序的时候, 加上-g 选项&#xff3b;重要&#xff3d; 1.2开始使用 …

爬虫原理详解及requests抓包工具用法介绍

文章目录 一、什么是爬虫&#xff1f;二、爬虫的分类三、网址的构成四、爬虫的基本步骤五、动态页面和静态页面六、伪装请求头七、requests库介绍1. 概念&#xff1a;2. 安装方式&#xff08;使用镜像源&#xff09;&#xff1a;3. 基本使用&#xff1a;4. response对象对应的方…

一起学算法(数组篇)

1.概念&#xff1a; 1.顺序存储 顺序存储结构&#xff0c;是指用一段地址连续的存储单元来依次存储结构&#xff0c;如图所示&#xff0c;每个蓝色方块都对应了数组中的一个数据&#xff0c;数据有类型&#xff0c;例如&#xff1a;32位整型int、单精度浮点型float、双精度浮点…

你知道HTTP与HTTPS有什么区别吗?

作者&#xff1a;Insist-- 个人主页&#xff1a;insist--个人主页 作者会持续更新网络知识和python基础知识&#xff0c;期待你的关注 目录 一、什么是HTTP&#xff1f; 二、什么是HTTPS&#xff1f; 三、HTTPS 的工作原理 1、客户端发起 HTTPS 请求 2、服务端的配置 3、…

如何设计一个Android端高性能日志监控系统

开发中客户端经常遇到一些线上问题, 无法复现, 但是又的的确确存在; 当线上反馈的时候无从下手; 主要是因为并不知道用户所处的环境,以及所做的操作顺序或者程序运行的顺序; 在排查问题和复现问题上占用了很大的成本; 如果debug时的log日志如果线上也能查看就好了; 基于此, 我们…

5.类型推论,类型断言,类型兼容性

目录 1 类型推论 2 类型断言 2.1 类型推论所带来的问题 2.2 基本使用 2.3 不断言会出现的问题 2.4 断言的另一种写法 2.5 查看DOM元素的类型 3 类型兼容性 3.1 类兼容性 3.2 接口兼容性 3.2.1 接口之间的兼容性 3.2.2 接口与类之间的兼容性 3.3 函数…

C++ 类的静态成员

在结构化程序设计中程序模块的基本单位是函数&#xff0c;因此模块间对内存中数据的共享是通过函数与和函数之间的数据共享来实现的&#xff0c;其中包括两个途径——参数传递和全局变量。 面向对象的程序设计方法兼顾数据的共享和保护&#xff0c;将数据与操作数据的函数封装…

解决运行flutter doctor --android-licenses时报错

问题描述&#xff1a; 配置flutter环境时&#xff0c;会使用flutter doctor命令来检查运行flutter的相关依赖是否配好。能看到还差 Android license status unknown.未解决。 C:\Users\ipkiss.wu>flutter doctor Flutter assets will be downloaded from https://storage.…