Vue中$router和$route的常用api

news/2024/7/19 14:57:10 标签: vue, js

一、$router

router是VueRouter的一个对象,通过Vue.use(VueRouter)和VueRouter构造函数得到一个router的实例对象,这个对象中是一个全局的对象,他包含了所有的路由包含了许多关键的对象和属性。

$router.push
// 字符串
this.$router.push('home')
// 对象
this.$router.push({ path: 'home' })
// 命名的路由
this.$router.push({ name: 'user', params: { userId: 123 }})
// 带查询参数,变成 /register?plan=123
this.$router.push({ path: 'register', query: { plan: '123' }})
$router.go
// 页面路由跳转 前进或者后退
this.$router.go(-1) // 后退
$router.replace
//push方法会向 history 栈添加一个新的记录,而replace方法是替换当前的页面,
不会向 history 栈添加一个新的记录
<router-link to="/05" replace>05</router-link>

// 一般使用replace来做404页面
this.$router.replace('/')

二、$route

route是一个跳转的路由对象,每一个路由都会有一个route对象,是一个局部的对象,可以获取对应的name,path,params,query等

$route.path 
字符串,等于当前路由对象的路径,会被解析为绝对路径,如 "/home/news"$route.params 
对象,包含路由中的动态片段和全匹配片段的键值对
$route.query 
对象,包含路由中查询参数的键值对。例如,对于 /home/news/detail/01?favorite=yes ,会得到$route.query.favorite == 'yes'$route.router 
路由规则所属的路由器(以及其所属的组件)。
$route.matched 
数组,包含当前匹配的路径中所包含的所有片段所对应的配置参数对象。
$route.name 
当前路径的名字,如果没有使用具名路径,则名字为空。
$route.hash**
当前路由的 hash(不带 #) ,如果没有 hash 值,则为空字符串。锚点
$route.fullPath**
完成解析后的 URL,包含查询参数和 hash 的完整路径。
$route.meta  
路由元信息
route object 出现在多个地方:
  1. 在组件内,即 this.$route
  2. 在 $route 观察者回调内 router.match(location) 的返回值
  3. 导航守卫的参数:
router.beforeEach((to, from, next) => {
  // to 和 from 都是 路由信息对象
})
watch: {
  $route(to, from) {
     // to 和 from 都是 路由信息对象
  }
}

http://www.niftyadmin.cn/n/1527250.html

相关文章

Vue动态组件(:is)

概念&#xff1a; 让多个组件使用同一个挂载点&#xff0c;并动态切换&#xff0c;这就是动态组件。 通过使用保留的 <component> 元素&#xff0c;动态地绑定到它的 is 特性&#xff0c;可以实现动态组件 1、基础用法 <div id"example"><button c…

Vue中路由表单缓存(keep-alive)

vue 中从一个路由切换到另一个路由的时候&#xff0c;第一个路由可能有表单信息&#xff0c;但切换到第二个路由时&#xff0c;第一个路由里的组件会被销毁&#xff0c;表单里填写的 value 也会消失&#xff0c;keep-alive 就可以帮我们缓存我们不想被销毁的组件。 页面效果&a…

TCP总结:socket

文章目录 参考简介正常TCP 建链、拆链示例半连接定义(TCP, 已建立的链接,收到PUSH包,不带ACK,会被drop)TCP 发送rst的情况已建立的链接,收到PUSH包,不带ACK,会被drop导致进程假死的表面现象TCP push 消息重传次数设置为什么tcp/udp 端口个数时65535个?tcpdump 抓包忽略T…

Core dump 分析实例一

64位机,从log里得到的backtrace信息:00007f0af65c7079 00007f0af65f20e1;是动态链接库的地址 /usr/lib64/libc-2.17.so: 7f0af657a000-7f0af6943000 通过objdump -D 反编译libc-2.17.so 文件,可以查找到对应的coredump发生的位置。 00007f0af65c7079 - 7f0af657a000 = 4…

Mobx的使用

文章目录1、Mobx简介2、Mobx的使用2.1、环境搭建2.2、Mobx基础操作2.2.1、observable可观察的状态2.2.2、 observable装饰器2.2.3、对 observables 作出响应3、在react项目中使用mobx3.1、环境搭建3.2、案例核心代码1、Mobx简介 2、Mobx的使用 2.1、环境搭建 创建项目 mkdi…

Linux 日志:Loading kernel module for a network device with CAP_SYS_MODULE (deprecated)

CAP_SYS_MODULE已经被遗弃&#xff0c;不再使用&#xff0c;如果有module 还在使用的话&#xff0c;就会打印这条log&#xff1b;希望引起module开发者的注意&#xff0c;尽快使用新的选项。 pr_warn("Loading kernel module for a network device with CAP_SYS_MODULE (…

Webpack搭建ES6开发环境和React环境

文章目录Webpack搭建ES6开发环境1、什么是Webpackwebpack 解决什么问题&#xff1f;2、为什么要使用 webpack &#xff1f;3、Webpack搭建ES6开发环境步骤第一步 安装模块第二步 创建目录结构第三步 搭建本地服务Webpack搭建React开发环境1、React环境搭建实现React开发的三种方…

Libtins使用

libtins 简介:通过运用libpcap提供的sniffer功能,实现了IP/TCP等系列通用协议的编解码,可以帮助开发着轻松实现通用协议的测试案例实现。 GitHub - mfontanini/libtins: High-level, multiplatform C++ network packet sniffing and crafting library. C++ packet sniffin…