前端基础之《Vue(18)—路由知识点》

news2025/6/6 1:52:28

一、两种路由模式

1、hash路由
(1)url中有#号,背后是监听onhashchange事件
(2)hash路由部署上线不会出现404问题,背后是基于history api实现的

2、history路由
(1)url中没有#号
(2)history路由部署上线会出现404问题,要用服务器做重定向处理

二、两个全局组件

1、<route-view>
视图容器

属性:
name:用于指定命名视图(给route-view加个名字,默认叫default)

路由规则:

<router-view name='alive'></router-view>

比如当url='/home'时,路由系统加载HomePage组件,将其显示在一个name=alive的视图容器中

routes: [
        { path: '/home', 
        components: {
          // 左key是视图容器的名称,右边是组件名称
          alive: HomePage
        }
      }
    ]

2、<route-link>
相当于a标签,用于设计菜单导航

属性:
to:用于指定跳转的目标
tag:用于指定最终渲染成什么标签,默认是a标签
active-class:用于指定菜单高亮样式显示
replace:跳转时,用当前链接替换路由栈栈顶
exact、exact-active-class:路由精确匹配

字符串写法:
<route-link to='/home'>首页</route-link>
对象写法:
<route-link :to='{path:"/home"}'>首页</route-link>

3、什么是路由栈
浏览器向左向右的箭头,控制页面访问,比如依次访问:
/
/home
/user
路由栈是['/', '/home', '/user'],这时候选择向左箭头,则跳转回到/home

三、两个内置api

1、$route
表示路由信息。url信息。

$route常用的api:

(1)this.$route.fullPath
拿路由地址的。

(2)this.$route.query
拿查询参数的。

(3)this.$route.params
拿动态路由的。

(5)this.$route.meta
拿路由元信息的。

2、$router
路由实例,用于路由跳转。

$router常用api:

(1)this.$router.push
向前跳转。

(2)this.$router.replace
向前跳转。替换路由栈顶操作。

(3)this.$router.back
返回上一页。

四、怎么监听路由的变化

1、watch可以监听$route的变化

watch: {
    $route() {
    console.log('---url变化了')
    }
}

五、两种路由跳转

1、声明式跳转
声明式路由跳转,就是使用<route-link>做跳转。一般用于菜单设计。

2、编程式跳转
用$router.push方法做跳转。一般用于事件绑定中。

六、两种命名

1、命名路由
意思是给路由规则{path,component}取一个名字。

routes: [
        { path: '/home', 
        components: {
          // 左key是视图容器的名称,右边是组件名称
          alive: HomePage
        },
        // 命名路由,给路由规则取个名
        name: 'tt'
      }
    ]

跳转:

<route-link :to='{name:"tt"}'>首页</route-link>

2、命名视图
意思是给<router-view>加一个name属性。

七、两种路由传参

1、query传参
(1)页面上点击一个项,跳转页面,触发点击事件

<template>
    <div>
        <h1>首页</h1>
        <div v-for='item in list' :key='item.id'>
            <span v-text='item.id'></span>
            --
            <span v-text='item.name'></span>
            --
            <span @click='skip(item)'>跳转</span>
        </div>
    </div>
</template>
methods: {
        skip(item) {
            // 编程式跳转
            this.$router.push('/good?id=' + item.id)
        }
    }

(2)url出现传过来的id

(3)商品详情页面打印接收到的id

<template>
    <div>
        <h1>商品详情页</h1>
    </div>
</template>

<script>

export default {
    mounted() {
        const id = this.$route.query.id
        console.log('---id', id)
    }
}
</script>

<style lang="css" scoped>

</style>

2、动态路由传参

(1)路由参数
从:

{ path: '/good', component: GoodInfo}

改为:

{ path: '/good/:id', component: GoodInfo}

这个:id就叫做动态路由,默认使用this.$route.params接收。如果在这里开启了props:true,那么还可以使用props来接收动态路由参数。

 (2)页面上点击一个项,跳转页面,触发点击事件

methods: {
        skip(item) {
            // 编程式跳转
            //this.$router.push('/good?id=' + item.id)
            this.$router.push('/good/' + item.id)
        }
    }

(3)url出现传过来的id

(4)商品详情页面打印接收到的id

<template>
    <div>
        <h1>商品详情页</h1>
    </div>
</template>

<script>

export default {
    mounted() {
        //const id = this.$route.query.id
        const id = this.$route.params.id
        console.log('---id', id)
    }
}
</script>

<style lang="css" scoped>

</style>

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

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

相关文章

014校园管理系统技术解析:构建智慧校园管理平台

校园管理系统技术解析&#xff1a;构建智慧校园管理平台 在教育信息化快速发展的当下&#xff0c;校园管理系统成为提升学校管理效率、优化校园服务的重要工具。该系统集成院校管理、投票管理等多个核心模块&#xff0c;面向管理员、用户和院内管理员三种角色&#xff0c;通过…

SQLite详细解读

一、SQLite 是什么&#xff1f; SQLite 是一个嵌入式关系型数据库管理系统&#xff08;RDBMS&#xff09;。它不是像 MySQL 或 PostgreSQL 那样的客户端-服务器数据库引擎&#xff0c;而是一个自包含的、无服务器的、零配置的、事务性的 SQL 数据库引擎。 核心特点 嵌入式/库…

LRC and VIP

//首先排除所有数相等的情况,再把最大值放在一个组&#xff0c;那么最大值的gcd就等于其本身&#xff0c;再判断剩下的gcd是否等于最大值就可以了 #include<bits/stdc.h> using namespace std;const int N1e3100; int a[N]; map<int,int>mapp; int main(){int t;ci…

Python趣学篇:Pygame重现经典打砖块游戏

名人说&#xff1a;路漫漫其修远兮&#xff0c;吾将上下而求索。—— 屈原《离骚》 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 专栏介绍&#xff1a;《Python星球日记》 目录 一、游戏背景与技术选型1. 打砖块游戏…

【Netty系列】Reactor 模式 2

目录 流程图说明 关键流程 以下是 Reactor 模式流程图&#xff0c;结合 Netty 的主从多线程模型&#xff0c;帮助你直观理解事件驱动和线程分工&#xff1a; 流程图说明 Clients&#xff08;客户端&#xff09; 多个客户端&#xff08;Client 1~N&#xff09;向服务端发起连…

TomatoSCI分析日记:数据分析为什么用csv不用excel

其实并不是多余&#xff0c;虽然看到的内容是一样的&#xff0c;但是相比excel文件&#xff0c;csv文件没这么多繁文缛节&#xff0c;效率更高。 1.csv更干净 csv本质是纯文本&#xff0c;只有你看到的数据&#xff0c;没有花里胡哨的单元格格式、颜色、批注等隐藏信息&#…

HTTP协议完全指南:从请求响应到HTTPS安全机制

文章目录 一、HTTP协议中的基本概念1.HTTP协议介绍&#xff08;1&#xff09;协议&#xff08;2&#xff09;传输&#xff08;3&#xff09;超文本 2.统一资源定位符&#xff08;URL&#xff09; 二、HTTP协议中的请求和响应1.HTTP客户端请求消息&#xff08;1&#xff09;请求…

设计模式——状态设计模式(行为型)

摘要 状态设计模式是一种行为型设计模式&#xff0c;核心在于允许对象在内部状态改变时改变行为。它通过状态对象封装不同行为&#xff0c;使状态切换灵活清晰。该模式包含环境类、抽象状态类和具体状态类等角色&#xff0c;具有避免大量分支判断、符合单一职责和开闭原则等特…

CTFHub-RCE 命令注入-过滤运算符

观察源代码 代码里面可以发现过滤了运算符&#xff0c;我们可以尝试分号&#xff1b; 判断是Windows还是Linux 源代码中有 ping -c 4 说明是Linux 查看有哪些文件 127.0.0.1;ls 打开flag文件 cat这个php文件 127.0.0.1;cat flag_257413168915334.php 可是发现 文本内容显示…

【音视频】H265 NALU分析

1 H265 概述 H264 与 H265 的区别 传输码率&#xff1a;H264 由于算法优化&#xff0c;可以低于 2Mbps 的速度实现标清数字图像传送&#xff1b;H.265 High Profile 可实现低于 1.5Mbps 的传输带宽下&#xff0c;实现 1080p 全高清视频传输。 编码架构&#xff1a;H.265/HEVC…

运维 vm 虚拟机ip设置

虚拟网络设置 nat 模式 网卡 主机设置网卡地址 虚拟机绑定网卡

飞牛fnNAS存储模式RAID 5数据恢复

目录 一、添加硬盘 二、创建RAID 5 存储空间 三、上传测试文件 四、拆除硬盘 五、更换硬盘 六、修复RAID 5 七、验证其内文件 八、NAS系统崩溃后的数据盘 前文《飞牛fnNAS存储空间模式详解》 中介绍了fnNAS存储空间的几个模式,细心的网友应该能感受到,我是非常推崇R…

论文笔记:DreamDiffusion

【初中生也能看得懂的讲解】 想象一下&#xff0c;我们能不能直接用“脑子想”来画画&#xff1f;比如你想到一只猫&#xff0c;电脑就能画出一只猫。这听起来是不是很酷&#xff1f;科学家们一直在努力实现这个“意念画画”的梦想。 以前&#xff0c;科学家们可能会用一种叫…

简单实现Ajax基础应用

Ajax不是一种技术&#xff0c;而是一个编程概念。HTML 和 CSS 可以组合使用来标记和设置信息样式。JavaScript 可以修改网页以动态显示&#xff0c;并允许用户与新信息进行交互。内置的 XMLHttpRequest 对象用于在网页上执行 Ajax&#xff0c;允许网站将内容加载到屏幕上而无需…

数据挖掘顶刊《IEEE Transactions on Knowledge and Data Engineering》2025年5月研究热点都有些什么?

本推文对2025年5月出版的数据挖掘领域国际顶级期刊《IEEE Transactions on Knowledge and Data Engineering》进行了分析&#xff0c;对收录的62篇论文的关键词与研究主题进行了汇总&#xff0c;并对其中的研究热点进行了深入分析&#xff0c;希望能为相关领域的研究人员提供有…

LabVIEW双光子显微镜开发

基于LabVIEW 开发高性能双光子显微镜系统&#xff0c;聚焦于生物样本深层成像与纳米材料三维表征。实现了超快激光控制、多维数据采集与实时图像重建。系统采用飞秒激光光源与高精度振镜扫描模块&#xff0c;结合 LabVIEW 的 FPGA 实时控制能力&#xff0c;可对活体组织、荧光纳…

WordPress 6.5版本带来的新功能

WordPress 6.5正式上线了&#xff01;WordPress团队再一次为我们带来了许多新的改进。在全球开发者的共同努力下&#xff0c;WordPress推出了许多新的功能&#xff0c;本文将对其进行详细总结。 Hostease的虚拟主机现已支持一键安装最新版本的WordPress。对于想要体验WordPres…

实现RabbitMQ多节点集群搭建

目录 引言 一、环境准备 二、利用虚拟机搭建 ​ 三、镜像集群配置 四、HAProxy实现负载均衡(主用虚拟机操作) 五、测试RabbitMQ集群搭建情况 引言 在现代分布式系统中&#xff0c;消息队列&#xff08;Message Queue&#xff09;扮演着至关重要的角色,而 RabbitMQ 作为…

GLIDE论文阅读笔记与DDPM(Diffusion model)的原理推导

Abstract 扩散模型&#xff08;Diffusion model&#xff09;最近被证明可以生成高质量的合成图像&#xff0c;尤其是当它们与某种引导技术结合使用时&#xff0c;可以在生成结果的多样性与保真度之间进行权衡。本文探讨了在文本条件图像生成任务中使用扩散模型&#xff0c;并比…

机器学习——放回抽样

为了构建树集成模型&#xff0c;需要一种叫做有放回采样的技术。 以4个标记为演示&#xff0c;分别是红色、黄色、绿色和蓝色&#xff0c;用一个黑色的袋子把这四个标记的例子放进去&#xff0c;然后从这个袋子里有放回地抽取四次&#xff0c;抽出一个标记&#xff0c;结果是绿…