VueRouter 相关信息

news2024/11/24 2:24:06

VueRouter 是Vue.js官方路由插件,与Vue.js深度集成,用于构建单页面应用。构建的单页面是基于路由和组件,路由设定访问路径,将路径与组件进行映射。VueRouter有两中模式 :hash 和 history ,默认是hash模式。

原理:更新视图不会重新请求页面

hash 和 history 区别:

hash: url中有# ,#和#后面的都是hash,发送http请求后,不会在http中显示#及#后面的

           window.location.hash读取

           不需要服务器配置

           url 中有# 可能不够美观

            兼容所有浏览器,包括旧版IE 

           工作原理:浏览器的hash 部分(window.location.hash)发生变化时,不会触发页面的重新加载。VueRouter 监听hash 的变化并更新视图。

history:没有#,有两个新方法 replaceState()  pushState()      可对浏览器历史记录栈进行修改

     popState事件监听到状态变更

        需要服务器配置来返回应用的HTML文件。因为在刷新页面或直接访问嵌套路由时,服务器需要返回应用的 HTML 文件。

        url 更符号用户直觉且美观

        仅支持现代浏览器

        工作原理: history 模式使用 history.pushState 和 history.replaceState 方法来操作浏览器的历史记录和地址栏。ueRouter 监听这些变化并更新视图。

Vue Router 提供的 $router.push$router.replace 方法,这些方法分别对应 history.pushStatehistory.replaceState

history.pushState(state, title, url)
 

        添加新记录后,浏览器地址栏立刻显示 localhost:8080/page1,但并不会跳转到 page1,甚至也不会检查page1是否存在,它只是成为浏览历史中的最新记录。切换到其他页面 再点浏览器的回退 会回到page1

VueRouter的守卫:

       全局守卫 beforeEach 

        后置守卫 afterEach 

       路由独享守卫 beforeEnter 

         全局解析守卫 beforeResolve

VueRouter的钩子函数:

全局 beforeEach

路由独享 beforeEnter

组件内 beforeRouterEnter   beforeRouterUpdate  beforeRouterLeave

路由传参的方式:

this.$router.push({path:'',query:{}})   接收参数:this.$route.query

this.$router.push({name:'',params:{}}) 接收参数:this.$route.params

<router-link :to="{path:'',query:{}}"  />

<router-link :to="{name:'',params:{}}"  />

路由跳转方式:

this.$router.push({path:'',query:{}})   会在history中添加记录,点击回退 返回上一页面

this.$router.push({name:'',params:{}}) 

this.$router.replace()    不会在history中添加记录,点击回退 返回上上页面

this.$router.go(n)    当n 为正数 向前跳转,为负数 向后跳转

<router-link to="" />

编程式导航使用的方法:

路由跳转:this.$router.push()

路由替换:this.$router.replace()

后退:this.$router.back()

前进:this.$router.forward()

$route 和 $router 区别:

$route 路由信息对象  path query params  fullPath hash name等

        接收参数this.$route.query    this.$route.params

$router  VueRouter的实例 含有很多属性和子对象 如history对象

           this.$router.push()

配置路由:

安装路由  

npm install--save Vue-Router

引入

import VueRouter from "vue-router"
Vue.use(VueRouter)

配置路由文件

//设置什么路径对应什么组件

const routes = [

{path:"/login",component:Login},

{path:"/home",component:Home},

]

// 实例化路由对象

const router = new VueRoute({

routes,

})

// 把路由对象挂载到Vue的根实例

new Vue({

router,

render:h=>h(App)

}).$mount('#app')

放置路由出口  App.vue文件中  <router-view />

跳转导航 <router-link to="" />

  

路由常用属性:

path 跳转参数

name 命名路由

component 路径对应的组件

children 子路由的配置参数

redirect 重定向路由

active-class

active-class 是VueRouter 中 <router-link >组件的属性,选中样式的切换

引发问题:

        由于 to="/"  引起,active-class 选择样式时根据路由中的路径去匹配,然后 显示,

        例如在my页面中,路由为localhost:8080/#/my,那么to="/” 和to="/my"都可以匹 配到,都会激活选中样式

解决:

        1、在router-link 中写入 exact 首页

        2、在路由中加入重定向 首页 { path: '/', redirect: '/home' }

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

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

相关文章

scikit-learn 算法选择决策树

介绍 下图帮助我们在使用 scikit-learn 库时选择合适的算法&#xff0c;可作为参考。

leetCode - - - 数组

1.移动0&#xff08;leetcode283&#xff09; 给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 请注意 &#xff0c;必须在不复制数组的情况下原地对数组进行操作。 class Solution {public void moveZeroes(i…

邮件API的API文档和技术支持资源如何获取?

邮件API如何集成到现有系统中&#xff1f;如何选邮件API服务&#xff1f; 对于开发者来说&#xff0c;理解和获取邮件API的API文档和技术支持资源至关重要。AokSend将详细介绍如何高效获取这些资源&#xff0c;帮助开发者顺利集成邮件API&#xff0c;并在项目中发挥其最大功效…

音频剪辑软件哪个好用?轻松处理音频的6款软件

在日常生活中&#xff0c;我们常常需要对音频进行编辑&#xff0c;无论是为了制作个性化的音乐铃声&#xff0c;还是剪辑重要的录音&#xff0c;或是创作音频片段。 面对这些音频剪辑的挑战&#xff0c;一款好用的在线音频剪辑免费版软件就显得尤为重要。 下面为大家推荐6个好…

打音游(补全程序)

首先最外层循环枚举的是总共的得分次数&#xff0c;包括x1,x,x/2&#xff0c;那么n-i就是没得分的情况。 里层循环j代表得x/2的情况&#xff0c;要么没有&#xff0c;要么最多1次&#xff0c;如果两次会变成x那么之前的循环已经枚举过了。 lower代表的是得x1分的下限那就是总…

六通道CAN(FD) 集线器

一 、功能概述 1.1 设备简介 CANFD 完全向下兼容 CAN&#xff0c; 以下统称 CAN(FD) 。本产品是CAN(FD)集线器&#xff0c; 支持名义 波特率 5k-1M&#xff0c; 数据波特率5k-5M&#xff0c; 开启位速率转换最低数据波特率100k。 支持每路单独设置接收帧类型&#xff08;软…

Apache Camel Karavan -理解一

Apache Camel 开始接触是在ETL数据&#xff0c;数据处理成为了现代企业必须面对的一个挑战。在数据处理中&#xff0c;etl&#xff08;提取-转换-加载&#xff09;的概念被广泛采用&#xff0c;其中提取指从源数据中收集数据&#xff0c;转换指将数据与所需数据配对&#xff0c…

uniapp创建一个新项目并导入uview-plus框架

近年来&#xff0c;随着技术的发展&#xff0c;人们越来越意识到跨平台和统一的重要性。对于同一款应用来说&#xff0c;一般都会有移动端、PC端、甚至小程序端。这是由于设备的不同&#xff0c;我们必须要做很多的客户端来满足不同的用户需求。但是由于硬件设施的不同&#xf…

谷粒商城实战笔记-131~132-商城业务-商品上架-构造sku检索属性和库存查询

文章目录 一&#xff0c;131-商城业务-商品上架-构造sku检索属性1&#xff0c;开发目标2&#xff0c;详细设计2.1&#xff0c;根据spu_id获取所有的规格参数2.2&#xff0c;根据上一步中查询结果进一步确认是否可搜索2.3&#xff0c;将可搜索的属性封装到Java模型中 二&#xf…

MySQL命令行工具的配置和使用

一、Windows启动命令行工具 1.打开Windows的开始菜单&#xff0c;找到安装好的MySQL&#xff0c;点击MySQL 8.0 Command Line Client - Unicode&#xff0c;这个带有Unicode的&#xff0c;是支持中文的&#xff0c;允许在命令行中敲中文。 然后从打开的窗口输入安装MySQL时设置…

【探索Linux】P.45(NAT技术 | NAPT技术)

阅读导航 引言一、NAT技术1. NAT技术引入2. NAT技术简介&#xff08;1&#xff09;基本原理&#xff08;2&#xff09;主要类型&#xff08;3&#xff09;技术优点&#xff08;4&#xff09;技术挑战&#xff08;5&#xff09;应用场景 二、NAPT温馨提示 引言 在上一篇文章中&…

NC 没有重复项数字的全排列

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文章男女通用&#xff0c;看懂了就去分享给你的码吧。 描述 给出一组数字…

【网络安全入门】学习网络安全必须知道的100 个网络基础知识_网络安全知识入门基础

什么是链接? 链接是指两个设备之间的连接。它包括用于一个设备能够与另一个设备通信的电缆类型和协议。 2 OSI 参考模型的层次是什么? 有 7 个 OSI 层&#xff1a;物理层&#xff0c;数据链路层&#xff0c;网络层&#xff0c;传输层&#xff0c;会话层&#xff0c;表示层…

接口测试之python+rquest+unittest分层自动化框架

接口测试之接口po框架 一、新建一个项目 接口自动化框架设计实战&#xff1a; 第一包&#xff1a;config 案例&#xff1a; #登录接口 dl_url http://cms.duoceshi.cn/cms/manage/loginJump.do dl_d {userAccount: admin, loginPwd: 123456} dl_h "Content-Type:app…

IP地址申请SSL证书的详细流程(ip地址实现https访问)

IP地址SSL证书是一种特殊的SSL/TLS证书&#xff0c;它被设计用于保护直接通过IP地址访问的服务。这种证书可以为IP地址提供HTTPS加密和身份验证。 IP地址申请SSL证书的详细流程如下&#xff1a; IP SSL证书-JoySSLhttps://www.joyssl.com/certificate/select/ip_certificate.…

查看pycharm里面的库的版本

1. 点击右下角 点击 2. 点击设置

金蝶云星空与致远 OA 的集成:实现高效流程审批

在当今数字化转型中&#xff0c;企业对于信息化系统的集成需求日益增长。金蝶云星空作为一款强大的企业资源管理系统&#xff0c;致远 OA 作为优秀的协同办公平台&#xff0c;两者的对接集成能够为企业带来更高效、更流畅的业务流程和审批体验。 一、集成的背景与意义 随着企业…

SpringBoot轻松实现邮件发送-copy即用

&#x1f469;&#x1f3fd;‍&#x1f4bb;个人主页&#xff1a;阿木木AEcru (更多精彩内容可进入主页观看) &#x1f525; 系列专栏&#xff1a;《Docker容器化部署系列》 《Java每日面筋》 &#x1f4b9;每一次技术突破&#xff0c;都是对自我能力的挑战和超越。 目录 前言一…

keeplive配置详解与haproxy配置详解

一、keepalive相关知识 1.1 keepalive介绍 keepalive即LVS集群当中的高可用架构&#xff0c;只是针对调度器的高可用。是高可用的HA架构。 keepalive就是基于VRRP协议来实现LVS高可用的方案。 1、组播地址 224.0.0.18&#xff0c;根据组播地址进行通信&#xff0c;主备之间发…

【学习笔记】A2X通信的协议(一)- 核心内容

3GPP TS 24.577 V18.1.0的技术规范&#xff0c;主要定义了5G系统中A2X通信的协议方面&#xff0c;特别是在PC5接口和Uu接口上的A2X服务。以下是文件的核心内容分析&#xff1a; 文档概述与目的&#xff1a; 技术规范背景&#xff1a;文档是3GPP在5G系统&#xff08;5GS&#x…