初识\(router和\)route

一、前言

​ vue框架中单页面富应用可以说是其最大的优点功能之一了,应用起来简单直观,说起单页面富应用那就必须得联想到\(router**,但是在项目开发过程中我们还会遇到另一个和它长得很像的东西,那就是**\)route,两者就仅仅相差一个字母,但是它们之间的功能却有着天大的区别,下面我们来看看它们各自的作用和都有哪些不同吧!

二、单页面Web应用(SPA)

​ 首先,我们要想了解vue-router,那就得先了解什么是SPA,单页Web应用(single page web application,SPA),就是只有一张Web页面的应用,是加载单个HTML 页面并在用户与应用程序交互时动态更新该页面的Web应用程序,即,在我们的单页面应用中是不存在页面的跳转的,它只是以某种方式将我们页面内的内容替换掉而已,如:我们从首页跳转到用户页,这个过程并非是真正地执行了的页面的跳转,其实他还是那个最开始的那个页面,通俗说,在我们的vue框架中就只有一个HTML文件。而替换到和更新到所需页面(组件),就可以通过使用vue-router中的\(router和\)route来实现。

三、两者的区别

  1. router

    • router翻译为“路由”,应用于计算机网络中,路由是把信息从源穿过网络传递到目的的行为,经历了哪些网络节点。在单页应用中,它表示页面的更新过程中所经历的路径变化。

    • $router对象是全局路由的实例,是router构造方法的实例,我们可以在任何组件中通过使用ths来引用它。

  2. route

    • $route对象表示当前的路由信息,包含了当前 URL 解析得到的信息。包含当前的路径,参数,query对象等。

四、两者的对象属性和方法

$router

  1. push( push方法其实和是等同的)

    • 字符串this.$router.push('home')
    • 对象this.$router.push({path:'home'})
    • 命名的路由this.$router.push({name:'user',params:{userId:123}})
    • 带查询参数,变成 /register?plan=123this.$router.push({path:'register',query:{plan:'123'}})
  2. go
    • 前进或者后退this.$router.go(number) ,number为正数时表示前进,为负数时表示后退
  3. replace
    • push方法会向 history 栈添加一个新的记录,而replace方法是替换当前的页面,不会向 history 栈添加一个新的记录,即使用replace方法时,不能返回到上一个页面。
  4. 通过控制台了解更多

$route

  1. $route.path 字符串,对应当前路由的路径,总是解析为绝对路径,如"/foo/bar"。
  2. $route.params 一个 key/value 对象,包含了 动态片段 和 全匹配片段, 如果没有路由参数,就是一个空对象。
  3. **\(route.query** 一个 key/value 对象,表示 URL 查询参数。 例如,对于路径 /foo?user=1,则有\)route.query.user == 1, 如果没有查询参数,则是个空对象。
  4. $route.hash 当前路由的hash值 (不带#) ,如果没有 hash 值,则为空字符串。锚点*
  5. $route.fullPath 完成解析后的 URL,包含查询参数和hash的完整路径。
  6. $route.matched 数组,包含当前匹配的路径中所包含的所有片段所对应的配置参数对象。
  7. $route.name 当前路径名字
  8. $route.meta 路由元信息
  9. 控制台了解更多

初识$router和$route的更多相关文章

  1. 理解OpenShift(1):网络之 Router 和 Route

    理解OpenShift(1):网络之 Router 和 Route 理解OpenShift(2):网络之 DNS(域名服务) 理解OpenShift(3):网络之 SDN 理解OpenShift(4) ...

  2. 【react router路由】<Router> <Siwtch> <Route>标签

    博客 https://www.jianshu.com/p/ed5e56994f13?from=timeline 文档 http://react-guide.github.io/react-router ...

  3. vue中的router和route有什么区别?

    我只知道前者一般用在跳转路由的时候,push一个url, 而后者则用来存储路由跳转过程中存储的各种数据. 话不多说,这篇博客讲的比较详细,可以参考一下. vue2.0中的$router 和 $rout ...

  4. Vue中美元$符号的意思与vue2.0中的$router 和 $route的区别

    vue的实例属性和方法 除了数据属性,Vue 实例还暴露了一些有用的实例属性与方法.它们都有前缀 $,以便与用户定义的属性区分开来.例如: var data = { a: 1 } var vm = n ...

  5. 浅谈vue$router 和 $route的区别

    最近在学习vue的单页面应用开发,需要vue全家桶,其中用到了VueRouter,在路由的设置和跳转中遇到了两个对象$router 和 $route ,有些傻傻分不清,后来自己结合网上的博客和自己本地 ...

  6. $router和$route的区别,路由跳转方式name 、 path 和传参方式params 、query的区别

    一.$router和$route的区别 $router : 是路由操作对象,只写对象$route : 路由信息对象,只读对象 例子://$router操作 路由跳转 this.$router.push ...

  7. vue中的$router 和 $route的区别

    最近在学习vue的单页面应用开发,需要vue全家桶,其中用到了VueRouter,在路由的设置和跳转中遇到了两个对象$router 和 $route ,有些傻傻分不清,后来自己结合网上的博客和自己本地 ...

  8. 【面试题】Vue中的$router 和 $route的区别

    Vue中的$router 和 $route的区别 点击视频讲解更加详细 this.$route:当前激活的路由的信息对象.每个对象都是局部的,可以获取当前路由的 path, name, params, ...

  9. [Angular2 Router] CanActivate Route Guard - An Example of An Asynchronous Route Guard

    In this tutorial we are going to learn how we can to configure an can activate route guard in the An ...

随机推荐

  1. tep集成mitmproxy录制流量自动生成用例

    使用 操作过程非常简单,流程如下: ①配置过滤域名 必须配置,不然会有很多无效流量造成数据冗余. ②启动代理 「示例」使用了反向代理,tep自带FastApi启动Mock服务: 「实际」使用正向代理, ...

  2. windbg调试系列教程:sos扩展的介绍和使用

    SOS是什么? 直观来说,sos就是一个程序集文件.这个程序集的作用就是让我们在使用windbg分析.net进程时,更加方便快捷.通过sos,我们可以清晰的查看CLR运行时的各类信息,辅助我们去理解托 ...

  3. ARM7、ARM9、ARM11、ARM-Cortex系列的关系

    参考资料: https://zhuanlan.zhihu.com/p/92315825 https://zhuanlan.zhihu.com/p/82337495 ARM是Advanced RISC ...

  4. Linux之基本命令

    (1)pwd 打印当前工作目录 (2)ls 列出当前工作目录中所有目录和文件的命令   ls -l 列出详细信息  -i 列出innode (3)cd 切换目录  cd ../切换到上级目录即/hom ...

  5. RIP协议测试——信而泰网络测试仪实操

    一.简介: RIP(Routing Information Protocol,路由信息协议)是一种内部网关协议(IGP),是一种动态路由选择协议,用于自治系统(AS)内的路由信息的传递.RIP协议基于 ...

  6. [iptables] 基于iptables实现的跨网络通信

    描述 在很多业务场景下,会遇上很多诡异的需求,不仅限于文章提及的需求,还有各种五花八门的需求,大部份的这些需求的产生都是来源于以前设计.规划上导致的问题.所以我们都会想尽办法为客户解决问题,维护好客户 ...

  7. 『无为则无心』Python日志 — 65、日志模块logging的使用

    目录 1.logger类用法 2.handler类用法 3.formatter类用法 4.filter类用法 1.logger类用法 logger类:logger用于提供日志接口,常用于配置和发送日志 ...

  8. nodejs调用jar

    目前nodejs调用jar主要有两种方式: 通过创建子进程运行java -jar命令调用包含main方法的jar 使用node-java通过c++桥接调用jar 方法一(子进程运行): const { ...

  9. Python:numpy

    学习自:NumPy 教程 | 菜鸟教程 官网:Numpy官方文档 1.简介 numpy主要用于数组计算,包含: 1)一个强大的N维数组对象ndarray 2)广播功能函数 3)整合 C/C++/For ...

  10. vue项目如何引用jquery

    虽然vue不推荐直接操作DOM,而且也提供了操作DOM的方式.但是在某些时候还是要用到jquery,那么如何引入jquery呢? 费了半天劲,记录一下: 一 : 安装jquery npm instal ...