Vue-Router总结

2023-11-09

路由三大组成部分

router-link:导航—link 标签
router-view:路由视图–路由页面呈现的地方 new
VueRouter():路由配置—routes

router-link属性

1.to进行页面跳转,更改路径
2.tag : 指定之后渲染成什么组件,比如将其渲染成<li
3.replace : replace不会留下history记录,所以指定replace的情况下,后退键返回不能返回到上一个页面
4.active-class : 对应的路由匹配成功时,会自动给当前元素设置一个router-link-active的class,设置active-class可以修改默认的名称
路由配置 VueRouter它是什么?

vue-router 是 vue 官方出的一个专门用于 vue 的路由。
使用指令安装 npm install vue-router
Vue.use(VueRouter)

组成部分

mode:让路由以某种形式呈现,hash 和 history 模式

base:设置一个根路径,用于发布的时候绑定服务端子目录的

routes:设置路由匹配项目的,是核心的控制器。

数据类型:数组–>匹配对象

path:匹配的 url 地址【必须有的】
component:加载的页面–组件【必须有的】
children:子路由
name:路由的名称–名字
alias:别名
redirect:重定向
meta:路由的元信息

动态路由

定义 一个匹配规则,可以匹配 n 个导航地址,显示同一个页面 使用场景 比如从产品列表跳转到详情页,那么详情页就是一个动态路由匹配。

重定向和别名

重定向:redirect 语法:{path:“/dir”,redirect:“/otherDir”}
场景:当访问一个路径的时候,自动跳到指定的地址里。
举例:当访问/跳到/home,用*做 404 页面容错处理 别名 alias
给一个路由定义一个或多个地址,当访问其中某一个地址的时候,url 地址栏不会变,但是显示的都是同一个页面。

与重定向的区别: 和重定向不一样的是重定向地址栏会跳转到新的路由里,别名不会跳转,匹配的是同一个路由

语法:

//取一个别名
{
   path:"/home",
   alias:"/",
   component:Home
}
//取多个别名
{
   path:"/home",
   alias:["/","/me"],
   component:Home
}

嵌套路由

一级路由里包含着二级路由,依次递归嵌套。 注意事项:

根组件里的 router-view 显示的是一级路由 嵌套的路由必须要在一级的路由组件中,写 router-view 嵌套路由的匹配
path 不要加/,因为/表示一级路由

语法:

{
   path:"/list",
   component:List,
   children:[
      {
         path:"hot",component:Hot
      }
   ]
}

命名路由

语法:

router.js
{
   path:"/home",
   name:"routeName",//路由的名称
   component:Home,
}

html

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

js

this.$router.push({ name: "routeName" });

优点

避免了路径过长,书写繁琐,后期迭代维护成本高的问题。

缺点

命名路由不能和路径跳转混合使用,容易产生 bug,因为路径跳转的匹配权重大于命令路由的匹配。

路由拦截器

定义:控制路由是否可访问,用于做权限控制,比如未登录状态不可进入付费页面。

路由的生命周期,路由的钩子函数,路由的拦截器,路由的守卫 全局路由守卫【常用的】 前置路由守卫 beforeEach
触发时机:当进入一个路由前触发

语法:
router.beforeEach((to, from, next) => {
  // from 表示该路由从哪儿来,可以理解为当前的路由
  // to 表示要进入的下一个路由
  // next方法,该方法必须要调用,接收三种值:字符串的路径,布尔值,函数【特殊情况下可用】
  // 如果要禁止路由跳转,next(false)
  next();
});

组件的路由守卫【一般】

beforeRouteLeave:当前路由离开的时候触发,多用于表单填写页面
beforeRouteUpdate:模板页面不销毁,路由一直在更新,要实时获取路由信息,就需要使用该函数了。导航列表和子路由页面同时存在的时候。
路由独有的守卫【最不常用的】 beforeEnter【当前路由被激活了】

语法:
routes:[{
  path:"*",component:Dom,beforeEnter(){}
}]

导航配置

router-link vue-router 内置的一个导航组件

属性:

to:跳转的地址 tag:指定导航的渲染 dom 类型,默认是 a 标签 active-class:指定当前导航的激活样式类名
replace:让当前的路由地址替换历史记录中的最后一个 登陆之后,为了防止用户点击后退重新进入登录,开启 replace
append:向历史记录插入一条【默认的方式】

跳转方式

编程式导航 用 js 跳转就叫编程式导航

$router:是路由的实例对象,拥有路由的所有功能 push:跳转地址(向历史记录添加一条)
replace:跳转地址(替换掉历史记录中最后一条) back:后退 go:用数字跳转历史记录 $route:当前路由的数据信息 声明式导航
用跳转叫声明式导航
原文链接:https://blog.csdn.net/weixin_54522911/article/details/117444516

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vue-Router总结 的相关文章

  • c++栈实现表达式求值

    文章目录 前言 一 思想分析 二 具体实现 前言 后缀表达式的算法思想与具体实现 一 思想分析 设定两个栈 操作数栈 OPND 操作符栈 OPTR 栈初始化 置操作数栈 OPND 为空 操作符栈 OPTR 中预设一个优先级最低的操作符 自左
  • Shell Expect 命令

    expect可以实现shell实现不了的用户交互的需求 expect可以将交互写在一个脚本上 完成很多自动化的动作 比如ssh ftp登陆等 都是需要交互需求的 expect是需要安装的 直接yum y install expect安装即可

随机推荐

  • Class 00 - 学习编程的方法&不同职业所使用的编程语言

    Class 00 学习编程的方法 不同职业所使用的编程语言 学习编程的方法 什么是编程 不同职业所使用的编程语言 数据分析 网页设计 移动应用开发 Web应用开发 游戏开发 Tips 学习编程语言的技巧 从电子表格到 SQL 再到 R 电子
  • threejs学习01-环境搭建+简单示例

    threejs学习 环境搭建 简单示例 环境搭建 node js vite js three js 轻量级的环境 先安装配置好node 在cmd中输入 node v 来查看node版本 node 配置好后就可以创建一个vite的项目了 先调
  • Vuforia Ground Plane 平面识别

    首先弄出这几个组件 如图 还有 再然后 然后就是关键了 如果Vuforia版本低于8 5 8 就得导入ARcore的arr 也就是这个 这个可以在 https dl google com dl android maven2 com goog
  • createBean方法详解

    前言 createBean是创建Bean的主要方法 该方法位于 AbstractBeanFactory的doGetBean方法中的createBean调用 createBean方法流程图 createBean源码解析 protected O
  • Zabbix监控MongoDB、Nignx、Redis、Php-fpm、SNMP(如打印机)

    Zabbix v3 4 MongoDB v3 4 MongoDB模板 感谢大神 MongoDB for Zabbix https share zabbix com databases mongodb mongodb for zabbix 3
  • better mybatis generator 使用详情

    1 在idea中plugins市场中下载better mybatis generator 安装 2 在idea中打开database 3 添加数据库 连接数据库 4 连接成功之后 如果如下图所示 可以看到schemas下边有连接好的数据库b
  • RoI Pooling 和 RoI Align

    RoI Pooling 和 RoI Align 一 背景和基本概念 1 背景 2 基本概念 二 RoI Pooling原理 1 目的 2 步骤 以输出RoI feature大小为2 2 5为例 Step1 Step2 Step3 Step4
  • python画饼图加牵引线_python-Matplotlib绘制分列式饼图并添加表格

    import matplotlib pyplot as plt import numpy as np import matplotlib as mpl 解决中文乱码和正负号问题 mpl rcParams font sans serif Si
  • 计算机汉字的输入和编辑教案,计算机汉字录入教案.doc

    教育局教研室学科教案纸 授课时间 年 月 日 星期 课 题上期总结与本期计划课 型新授本期总第 1 节教 学 目 标 知识与技能 过程与方法 情感态度与价值观 层 次 要 求了解认识理解应用经历体验反应领悟课 时 教 学 目 标 归纳总结上
  • 包教包会:本地推送 & 远程推送

    什么是推送 注意 和我们常用的抽象通知不同 NSNotification 可以让不在前台运行的app 告知用户app内部发生了什么事情 或者没有运行的app接收到服务器发来的通知 比如离线QQ接受消息 网上商城的打折通知 游戏的版本更新通知
  • 管理后台项目-06-用户管理角色管理模块

    目录 1 路由信息搭建和api文件信息创建 2 用户管理模块 2 1 列表数据获取以及动态渲染 2 2 添加 修改 用户 2 3 删除 批量删除用户 2 4 分配角色 3 角色管理 3 1 修改角色 3 2 分配权限 1 路由信息搭建和ap
  • vue $nextTick()方法实现原理

    什么是 nextTick 在下次 DOM 更新循环结束之后执行延迟回调 简单的理解是 当数据更新了 在dom中渲染后 自动执行该函数 原理 1 nextTick就是一个异步方法 nextTick 方法主要是使用了宏任务或微任务 事件循环机制
  • C++ 特化与重载(12)---《C++ Templates》

    目前为止 我们已经学习了C 如何使一个泛型定义被展开为一族系相关的classes或者function 但是这远远不够 以一个特定替换物取代泛华的templates parameters远远达不到优化的要求 因此 本片中我们将介绍两种机制 用
  • 伺服电机三环(电流环、速度环、位置环)控制原理及参数调节

    原文 https blog csdn net sunjiajiang article details 8252026 运动伺服一般都是三环控制系统 从内到外依次是电流环 速度环 位置环 1 电流环 电流环的输入是速度环PID调节后的输出 我
  • 设计模式(四) 建造者模式

    建造者模式和工厂模式类似 也是一种创建型模式 它们的主要区别在于 工厂模式需要提供一些信息 而对象在最后一步才创建 而建造者模式则是一步一步的创建对象 一个非常典型的建造者的例子是Java中的StringBuilder 通过一步一步的添加字
  • Journal of Proteome Research

    期刊名 Journal of Proteome Research 发表时间 2019年9月 IF 3 78 2018 单位 巴塞尔大学 瑞士 物种 人细胞系 技术 冷冻电子显微镜 Cryo EM 单粒子电子显微镜 一 概述 本文描述了一种
  • C语言的字符串查找函数

    C C string库 string h 提供了几个字符串查找函数 如下 memchr 在指定内存里定位给定字符 strchr 在指定字符串里定位给定字符 strcspn 返回在字符串str1里找到字符串str2里的任意一个字符之前已查找的
  • arma模型matlab代码_时间序列分析ARMA模型(金融计量一)

    以下内容为原创 如有错误请联系纠正 联系作者方式 微信公众号 计量文学 公众号会发布计量学相关文章 软件安装教程 公众号刚起步 希望多多支持 作业说明 1 给出原序列折线图 并加以文字描述 2 给出原序列或差分序列 如果有需要 的自相关函数
  • 深入剖析Kubernetes之声明式 API

    文章目录 声明式 API 编写自定义控制器 声明式 API 到底什么才是 声明式 API 呢 kubectl apply 命令 kubectl replace 的执行过程 是使用新的 YAML 文件中的 API 对象 替换原有的 API 对
  • Vue-Router总结

    路由三大组成部分 router link 导航 link 标签 router view 路由视图 路由页面呈现的地方 new VueRouter 路由配置 routes router link属性 1 to进行页面跳转 更改路径 2 tag