入门 Vue Router

news2024/11/15 7:15:30

Vue Router

Vue Router插件做了什么?

  1. 全局注册 RouterViewRouterLink 组件。
  2. 添加全局 $router$route 属性。
  3. 启用 useRouter()useRoute() 组合式函数。
  4. 触发路由器解析初始路由。

在这里插入图片描述

标签介绍

  • RouterView

    加载指定页面

    <RouterLink to="/home">首页</RouterLink>
    <!-- 类似 -->
    <a href="home.html">首页</a>
    

    不同于常规的 <a> 标签,我们使用组件 RouterLink 来创建链接。

    这使得 Vue Router 能够在不重新加载页面的情况下改变 URL,处理 URL 的生成、编码和其他功能。

  • RouterView

    渲染当前 URL 路径

    <RouterView />
    <!-- 类似 -->
    <iframe />
    

    RouterView 组件可以使 Vue Router 知道你想要在哪里渲染当前 URL 路径对应的路由组件。

    它不一定要在 App.vue 中,你可以把它放在任何地方,但它需要在某处被导入,否则 Vue Router 就不会渲染任何东西。

函数

  • createMemoryHistory()

    忽略浏览器的 URL 而使用其自己内部的 URL。

    如路由演练场的demo,路由与浏览器的URL变化不相关,而是内部路由操作而改变。

    • 使用方式:

      const router = createRouter({
        history: createMemoryHistory(),
        routes
      })
      
    • 注意事项

      它不会有历史记录,这意味着你无法后退或前进。

  • createWebHistory()

    创建一个 HTML5 历史。对于单页应用来说这是最常见的历史。(官方推荐)

    • 使用方式:

      import { createRouter, createWebHistory } from 'vue-router'
      
      const router = createRouter({
        history: createWebHistory(),
        routes: [
          //...
        ]
      })
      
    • 呈现样式

      https://example.com/user/id
      
  • createWebHashHistory()

    创建一个 hash 模式的历史。在没有主机的 web 应用 (如 file://) 或无法通过配置服务器来处理任意 URL 的时候非常有用。

    • 使用方式

      import { createRouter, createWebHashHistory } from 'vue-router'
      
      const router = createRouter({
        history: createWebHashHistory(),
        routes: [
          //...
        ]
      })
      
    • 呈现样式

      https://example.com/#/
      
  • useRouter()

    返回路由器实例

    addRoute | afterEach | back | beforeEach | beforeResolve | currentRoute | forward | getRoutes | go | hasRoute | install | isReady | listening | onError | options | push | removeRoute | replace | resolve
    

    使用区分

    // 选项式
    this.$router
    
    // 组合式
    useRouter()
    
  • useRoute()

    返回当前的路由地址

      fullPath | hash | matched | meta | name | params | path | query | redirectedFrom
    

    使用区分

    // 选项式
    this.$route
    
    // 组合式
    useRoute()
    

useRoute 介绍

属性介绍
  • fullPath

    包括 searchhash 在内的完整地址。该字符串是经过百分号编码的。

  • hash

    当前地址的 hash。如果存在则以 # 开头。

  • matched

    RouteLocationMatched 数组,只包含直接的组件 (任何已被加载并在 components 对象内被替换掉的懒加载组件)。所以它可以被直接用于展示路由。同样它不包含重定向的记录。

  • meta

    从所有匹配的路由记录中合并的 meta 属性。

  • name

    匹配的路由名称。

  • params

    path 中提取出来并解码后的参数对象。

  • path

    经过百分号编码的 URL 中的 pathname 段。

  • query

    代表当前地址的 search 属性的对象

  • redirectedFrom

    包含在重定向到当前地址之前,我们最初想访问的地址。

useRouter介绍

属性介绍
  • listening

    允许关闭历史事件的监听器。这是一个为微前端提供的底层 API。

  • options

    创建路由器时的原始选项对象。

  • currentRoute

    当前路由信息对象。

方法介绍
  • addRoute

    添加一个新的路由记录,将其作为一个已有路由的子路由。

  • afterEach

    添加一个导航钩子,它会在每次导航之后被执行。返回一个用来移除该钩子的函数。

  • back

    通过调用 history.back() 在可能的情况下在历史中后退。相当于 router.go(-1)

  • beforeEach

    添加一个导航钩子,它会在每次导航之前被执行。返回一个用来移除该钩子的函数。

  • beforeResolve

    添加一个导航守卫,它会在导航将要被解析之前被执行。此时所有组件都已经获取完毕,且其它导航守卫也都已经完成调用。返回一个用来移除该守卫的函数。

  • forward

    通过调用 history.forward() 在可能的情况下在历史中前进。相当于 router.go(1)

  • getRoutes

    获得所有路由记录的完整列表。

  • go

    允许你在历史中前进或后退。相当于 router.go()

  • hasRoute

    检查一个给定名称的路由是否存在。

  • isReady

    返回一个 Promise,它会在路由器完成初始导航之后被解析,也就是说这时所有和初始路由有关联的异步入口钩子和异步组件都已经被解析。如果初始导航已经发生,则该 Promise 会被立刻解析。

    这在服务端渲染中确认服务端和客户端输出一致的时候非常有用。注意在服务端你需要手动加入初始地址,而在客户端,路由器会从 URL 中自动获取。

  • onError

    添加一个错误处理器,它会在每次导航遇到未被捕获的错误出现时被调用。其中包括同步和异步被抛出的错误、在任何导航守卫中返回或传入 next 的错误、尝试解析一个需要渲染路由的异步组件时发生的错误。

  • push

    程序式地通过将一条记录加入到历史栈中来导航到一个新的 URL。

  • removeRoute

    根据其名称移除一个现有的路由。

  • replace

    程序式地通过替换历史栈中的当前记录来导航到一个新的 URL。

  • resolve

    返回一个路由地址的规范化版本。同时包含一个包含任何现有 basehref 属性。默认情况下,用于 router.currentRoutecurrentLocation 应该在特别高阶的用例下才会被覆写。

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

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

相关文章

OpenAI Gym Atari on Windows

题意&#xff1a;在Windows系统上使用OpenAI Gym的Atari环境 问题背景&#xff1a; Im having issues installing OpenAI Gym Atari environment on Windows 10. I have successfully installed and used OpenAI Gym already on the same system. It keeps tripping up when t…

Java 静态变量、静态代码块、普通代码块、构造方法的执行顺序

今天碰到这个问题&#xff0c;看了课程以及资料&#xff0c;做出解答。这是我自己绘制的图&#xff0c;按从上到下&#xff0c;从左到右的顺序执行。如有问题请联系我修正。 要点&#xff1a; 1、执行顺序分为两步&#xff0c;类加载和初始化阶段。 2、因为静态变量和静态代码块…

如何使用Selenium处理Cookie,今天彻底学会了!_selenium获取cookies(1)

02、session介绍 session是另一种记录客户状态的机制&#xff0c;不同的是cookie保存在客户端浏览器中&#xff0c;而session保存在服务器上。客户端浏览器访问服务器的时候&#xff0c;服务器把客户端信息以某种形式记录在服务器上。存储在服务器的数据会更加的安全&#xff…

常见的认证方式

认证机制是一种用户确定用户身份或者权限的安全措施&#xff0c;比如用来验证某个用户是否有权限访问一个资源&#xff0c;如果认证通过&#xff0c;用户就可以成功访问&#xff0c;反之则会访问失败 常见的认证方式有四种&#xff0c;分别是 Basic、Digest、OAuth 和 Bearer …

【分布式系统】Filebeat+Kafka+ELK 的服务部署

目录 一.实验准备 二.配置部署 Filebeat 三.配置Logstash 四.验证 一.实验准备 结合之前的博客中的实验 主机名ip地址主要软件es01192.168.80.101ElasticSearches02192.168.80.102ElasticSearches03192.168.80.103ElasticSearch、Kibananginx01192.168.80.104nginx、Logs…

影视灯方案 H5228升降压恒流芯片 48V60V80V100V共阳0.01%深度调光无频闪

H5228 升降压恒流芯片是一款为 LED 照明应用设计的驱动解决方案&#xff0c;具有宽电压输入范围、高精度的恒流控制和多样的调光功能&#xff0c;适用于智能照明、摄影灯照明以及补光灯照明等领域。以下是对其特点和应用的详细分析&#xff1a; 产品特点 拓扑结构支持&#xf…

【2024华为HCIP831 | 高级网络工程师之路】刷题日记(BGP)

个人名片:🪪 🐼作者简介:一名大三在校生,喜欢AI编程🎋 🐻‍❄️个人主页🥇:落798. 🐼个人WeChat:hmmwx53 🕊️系列专栏:🖼️ 零基础学Java——小白入门必备🔥重识C语言——复习回顾🔥计算机网络体系———深度详讲HCIP数通工程师-刷题与实战🔥🔥

深度解析移动硬盘“函数不正确”错误及高效恢复策略

在数据密集型的社会中&#xff0c;移动硬盘作为移动存储的重要载体&#xff0c;承载着无数用户的个人信息、工作资料及珍贵回忆。然而&#xff0c;当遭遇“函数不正确”的错误时&#xff0c;这些宝贵的数据仿佛被一层无形的屏障所阻隔&#xff0c;让人束手无策。本文将深入探讨…

初学SpringMVC之执行原理

Spring MVC 是基于 Java 实现 MVC 的轻量级 Web 框架 导入 jar 包 pom.xml 文件导入依赖&#xff1a; <dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13.2</version></dependency><dep…

基于全志Orangepi Zero 2 的语音刷抖音项目

目录 一、硬件连接 二、项目实现功能 三、SU-03T语音模块的配置和烧录 3.1 创建产品&#xff1a; 3.2 设置PIN引脚为串口模式&#xff1a; 3.3 设置唤醒词&#xff1a; 3.4 设置指令语句&#xff1a; 3.5 设置控制详情&#xff1a; 3.6 发音人配置&#xff1a; 3.7 其…

第二证券股市知识:股票填权是怎么回事?利好还是利空?

1、股票填权的含义 股票填权是指在除权除息之后的一段时刻内&#xff0c;假设多数投资者看好该个股&#xff0c;股票的价格超过除权除息的基准价就叫做填权。上市公司假设能持续分红&#xff0c;就会向市场传递积极信号&#xff0c;招引更多投资者买入&#xff0c;越来越多的投…

我“硬刚”mmkv开源库对于版本号的定义赢啦!

我“硬刚”mmkv开源库胜利啦&#xff01; 前情是这个帖子https://blog.csdn.net/jzlhll123/article/details/139917169 之前项目中将mmkv1.3.4升级到1.3.5或者1.3.6&#xff0c;就从firebase后台上看到crash。 java.lang.UnsatisfiedLinkError: dlopen failed: library “libmm…

数据融合工具(3)国家基本比例尺地形图分幅计算

情景再现&#xff0c;呼叫小编 数据获取和使用过程中&#xff0c;经常听到一个名词“分幅图幅号”…… 你的数据是按多大比例尺分幅的&#xff1f;我不知道&#xff0c;就一些字母和数值。 你把G47E018018范围内的数据裁剪提供&#xff0c;这个范围是啥&#xff1f; 你把镶嵌…

VTD的RDB介绍,从入门到放弃

文章目录 前言一、二、常见的RDB数据类型1、RDB_OBJECT_STATE_BASE_t2、RDB_OBJECT_STATE_EXT_t3、RDB_OBJECT_STATE_t4、RDB_SENSOR_OBJECT_t5、RDB_COORD_t6 RDB_GEOMETRY_t7、RDB_MSG_ENTRY_HDR_t 三、疑惑的问题点&#xff1a;1、在RDB_OBJECT_STATE_EXT_t中这两个的区别是…

Python提取视频文案

Python提取视频文案 1、背景描述2、视频转音频3、音频转文字 1、背景描述 在多媒体应用中&#xff0c;视频是一个信息量巨大的载体。然而&#xff0c;有时我们需要从视频中提取语音并转换为文本&#xff0c;以用于文本分析和机器学习训练 其中主要涉及到两个过程&#xff1a;视…

提高LabVIEW软件的健壮性

提高LabVIEW软件的健壮性&#xff0c;即增强其在各种操作条件下的可靠性和稳定性&#xff0c;是开发过程中非常重要的一环。健壮的软件能够在面对意外输入、极端环境和系统故障时依然表现出色&#xff0c;确保系统的连续性和可靠性。以下是详细的方法和策略&#xff0c;从多个角…

容易涨粉的视频素材在哪找啊?爆款涨粉的视频素材网站有这几个

亲爱的读者&#xff0c;大家好&#xff01;今天我们要探讨一个至关重要的问题&#xff1a;在充满竞争的视觉时代&#xff0c;如何使自己的短视频脱颖而出并吸引更多粉丝&#xff1f;关键在于使用那些既酷炫又高质量的视频素材&#xff01;下面就向大家推荐几个顶级视频素材网站…

动态粒子发射特效404网站HTML源码

源码介绍 动态粒子发射404网站HTML源码&#xff0c;粒子内容可以进行修改&#xff0c;默认是4&#xff0c;0数字还有一个页面不存在英文&#xff0c;可以自行修改&#xff0c;喜欢的朋友可以拿去使用&#xff0c;源码是html&#xff0c;记事本打开修改即可&#xff0c;鼠标双击…

独立站外链建设中常见的错误是什么?

最大的错误毫无疑问就是低质量的网站链接会对SEO产生负面影响&#xff0c;实际上&#xff0c;外链只有有效和无效之分&#xff0c;低质量的外链不会带来负面影响。否则&#xff0c;通过大量发低质量外链就可以搞垮竞争对手的网站了。但事实并非如此&#xff0c;真能这么做就乱套…

鸿蒙小练习

bean对象 export class BannerImage{id:numberurl:stringtargetUrl:stringproductId:numberconstructor(id: number, url: string, targetUrl: string, productId: number) {this.id idthis.url urlthis.targetUrl targetUrlthis.productId productId} }export class d…