入门 Vue Router

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.rhkb.cn/news/371866.html

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

相关文章

中学生物实验室建设及实验室配置方案

开展好实验教学&#xff0c;是学好生物的前提条件&#xff0c;生物学实验是培养学生创新思维和实践操作能力的有效途径&#xff0c;是转变学生学习方式的有效手段。中学生物实验室建设及配置方案&#xff0c;充分考虑学校实验教学需求、学生身心发展特点&#xff0c;助力学校在…

基于1bitDAC的MU-MIMO的非线性预编码算法matlab性能仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 基于1-bit DAC的非线性预编码背景 4.2 ZF&#xff08;Zero-Forcing&#xff09; 4.3 WF&#xff08;Water-Filling&#xff09; 4.3 MRT&#xff08;Maximum Ratio Transmission&…

python破解字母已知但大小写未知密码

python穷举已知字符串中某个或多个字符为大写的所有情况 可以使用递归函数来实现这个功能。以下是一个示例代码&#xff1a; def generate_uppercase_combinations(s, index0, current):if index len(s):print(current)returngenerate_uppercase_combinations(s, index 1, …

linux RTC时钟时间出现了明显的偏移

RTC时钟时间出现了明显的偏移 1、开发环境2、问题阐述3、验证问题3.1、首先去排查了硬件电路和芯片电压不稳定的问题。3.2、晶振的问题。3.3、芯片本身3.4、芯片寄存器 4、代码修改 1、开发环境 平台&#xff1a;imx6ul kernel版本&#xff1a;linux4.1.5 RTC芯片&#xff1a;…

启发式防御大模型越狱攻击

前言 在本文中&#xff0c;我们来分析、复现几个典型的启发式的防御工作&#xff0c;用于防御面向大语言模型的越狱攻击。 Self Examination 首先来看Self Examination方法。 这是一种简单的零样本防御LLM攻击的方法&#xff0c;旨在防止用户接触到由LLMs诱导产生的有害或恶…

GPT4又双叒叕被超越?商汤日日新5.5震撼发布!

商汤最强大脑日日新5.5震撼上线: 6000亿参数、全面对标GPT-4 前言 日日新5.5发布 人工智能领域的领军企业商汤科技&#xff0c;近日在2024世界人工智能大会上带来了一个重磅消息&#xff1a;他们全新升级的"日日新SenseNova 5.5"大模型正式发布&#xff01; 这一消息…

第3章 信息技术服务知识

第3章 信息技术服务知识 本章介绍一些信息技术服务相关的基本知识和概念&#xff0c;包括产品、服务、信息技术服务、运维、运营和经营、IT治理、IT服务管理、项目管理、质量管理、信息安全管理、信息技术服务财务管理等。希望读者通过了解和掌握这些基本概念&#xff0c;为今…

Spring cloud 中使用 OpenFeign:让 http 调用更优雅

注意&#xff1a;本文演示所使用的 Spring Cloud、Spring Cloud Alibaba 的版本分为为 2023.0.0 和 2023.0.1.0。不兼容的版本可能会导致配置不生效等问题。 1、什么是 OpenFeign Feign 是一个声明式的 Web service 客户端。 它使编写 Web service 客户端更加容易。只需使用 F…

flutter开发实战-Webview及dispose关闭背景音

flutter开发实战-Webview及dispose关闭背景音 当在使用webview的时候&#xff0c;dispose需要关闭网页的背景音或者音效。 一、webview的使用 在工程的pubspec.yaml中引入插件 webview_flutter: ^4.4.2webview_cookie_manager: ^2.0.6Webview的使用代码如下 初始化WebView…

【知网CNKI-注册安全分析报告】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞…

Trinity:转录组从头组装

安装 #下载安装包 wget -c https://github.com/trinityrnaseq/trinityrnaseq/releases/download/Trinity-v2.15.1/trinityrnaseq-v2.15.1.FULL.tar.gztar -xzvf trinityrnaseq-v2.15.1.FULL.tar.gz cd trinityrnaseq-v2.15.1 make make plugins #安装依赖 mamba install -c bio…

Vue3使用markdown编辑器之Bytemd

官网地址&#xff1a;https://bytemd.js.org/playground GitHub地址&#xff1a;https://github.com/bytedance/bytemd ByteMD 是字节跳动出品的富文本编辑器&#xff0c;功能强大&#xff0c;可以免费使用&#xff0c;而且支持很多掘金内置的主题&#xff0c;写作体验很棒。 …

Flask之电子邮件

前言&#xff1a;本博客仅作记录学习使用&#xff0c;部分图片出自网络&#xff0c;如有侵犯您的权益&#xff0c;请联系删除 目录 一、使用Flask-Mail发送电子邮件 1.1、配置Flask-Mail 1.2、构建邮件数据 1.3、发送邮件 二、使用事务邮件服务SendGrid 2.1、注册SendGr…

element-ui输入框如何实现回显的多选样式?

废话不多说直接上效果&#x1f9d0; 效果图 <template><div><el-form:model"params"ref"queryForm"size"small":inline"true"label-width"68px"><el-form-item label"标签" prop"tag&q…

安全防御(防火墙)

第二天&#xff1a; 1.恶意程序---一般会具有一下多个或则全部特点 1.非法性&#xff1a;你未经授权它自动运行或者自动下载的&#xff0c;这都属于非法的。那恶意程序一般它会具有这种特点&#xff0c; 2.隐蔽性&#xff1a;一般隐藏的会比较深&#xff0c;目的就是为了防止…

MySQL性能优化 一、系统配置优化

数据库优化纬度有四个&#xff1a; 硬件升级、系统配置、表结构设计、SQL语句及索引。 优化选择&#xff1a; 优化成本&#xff1a;硬件升级 > 系统配置 > 表结构设计 > SQL语句及索引优化效果&#xff1a;硬件升级 < 系统配置 < 标结果设计 < SQL语句及索…

无线领夹麦克风品牌排名,揭秘国产领夹麦克风哪个品牌好

在自媒体行业迅猛发展的浪潮中&#xff0c;领夹麦克风作为音频采集的关键设备&#xff0c;其市场需求正经历着前所未有的激增。面对市场上众多品牌和型号的选择&#xff0c;如何做出既符合个人需求又不失专业水准的决策&#xff0c;成为了消费者亟待解决的问题。 我特意为大家…

springboot+vue+mybatis图书销售管理系统+PPT+论文+讲解+售后

在Internet高速发展的今天&#xff0c;我们生活的各个领域都涉及到计算机的应用&#xff0c;其中包括图书销售管理系统的网络应用&#xff0c;在外国图书销售管理系统已经是很普遍的方式&#xff0c;不过国内的管理网站可能还处于起步阶段。图书销售管理系统具有网上图书信息管…

Python学习中使用循环(for, while)

在Python编程语言中&#xff0c;循环是一个非常重要的概念&#xff0c;可以帮助我们在代码中重复执行某些操作。Python支持两种主要的循环结构&#xff1a;for 循环和 while 循环。 1. for 循环 for 循环用于遍历一个序列&#xff08;如列表、元组、字符串&#xff09;或其他…

Java反射与Fastjson的危险反序列化

什么是Java反射&#xff1f; 在前文中&#xff0c;我们有一行代码 Computer macBookPro JSON.parseObject(preReceive,Computer.class); 这行代码是什么意思呢&#xff1f;看起来好像就是我们声明了一个名为 macBookPro 的 Computer 类&#xff0c;它由 fastjson 的 parseObje…