【Vue路由系统详述】 -- 2019-08-08 18:01:24

目录

  • 路由命名
  • 路由参数
    • 路由参数的实现原理
  • 子路由
    • 子路由之append

      • 动态绑定属性
    • 子路由之append升级版
    • 子路由之非append
  • 路由重定向
  • 手动路由
  • 路由钩子
  • 在路径中去掉"#"号

原文: http://106.13.73.98/__/55/

一切分离都是为了更好的结合,本文详细介绍了前后端架构分离之后,前端如何实现路由的控制,即Vue路由系统——VueRouter.

VueRouter下载地址(默认最新版本):https://unpkg.com/[email protected]/dist/vue-router.js

@
*
VueRouter实现原理:**

==根据锚点值的改变,修改组件内容.==

我们先来看看不使用VueRouter,自己实现路由的控制,如下代码:

<body>
<div id="app"></div>

</body>

测试效果如下图:

可以看到,通过改变锚点值,页面跳转到我们需要的内容.

再来看看VueRouter实现路由的控制:

<body>
<div id="app"></div>

</body>

测试效果如下图:


路由命名

方式一:
==通过在vue-router对象中增加name属性来指定路由名称.==
==调用方式:v-bind:to={ name: "路由名称" }==

<body>
<div id="app"></div>

</body>

方式二:

<body>
<div id="app"></div>

</body>


路由参数

<body>
<div id="app"></div>

</body>

测试效果如下图:


***

路由参数的实现原理

<body>
<div id="app"></div>

</body>

测试效果如下图:



子路由

<body>
<div id="app"></div>

</body>

测试效果如下图:

可见,使用此方法,子页面不能正常显示.
***

子路由之append

==append参数会在路径后面追加子路由的路径,注意:会在后面一直追加.
append参数只适用于只需一层子路由的情况.==

<body>
<div id="app"></div>

</body>

测试效果如下图:

这里只点击了一次 子页面01,显示的内容是正常的,后面的路径也是正常的.

下面的是点击了两次:

可见,内容显示不正常了,后面的路径也不正常了——==append参数会在后面一直添加子路由中的路径.==

使用以上方式,路径是写死在属性中的,所以子路径会不断的append到最后面,导致后续访问不到响应的页面,可以采用另一种方式——动态绑定属性.

动态绑定属性

==动态绑定属性即给子路由命名,使用子路由命的名称来实现子路径的正常切换.==

<body>
<div id="app"></div>

</body>

==注意:此方法必须使用name查找组件和路径的对应关系,而不能使用path.==
***

子路由之append升级版

==所谓的append升级版其实就是同时使用动态绑定属性和append.==

<body>
<div id="app"></div>

</body>

子路由之非append

<body>
<div id="app"></div>

</body>


路由重定向

<body>
<div id="app"></div>

</body>

如上代码,我们点击支付链接时,将会跳转至登陆页面.

手动路由

<body>
<div id="app"></div>

</body>

如上代码,点击按钮即可跳转至测试页面.

路由钩子

<body>
<div id="app"></div>

</body>

如上代码,通过路由钩子函数实现了点击支付链接时跳转至登陆页面的功能.

在路径中去掉"#"号

在实例化的router对象中增加一个属性:==mode: ‘history‘==,该属性可将路径中显示的"#"号去掉.

<body>
<div id="app"></div>

</body>



原文: http://106.13.73.98/__/55/

原文地址:https://www.cnblogs.com/gqy02/p/11322786.html

时间: 2024-08-29 13:37:34

【Vue路由系统详述】 -- 2019-08-08 18:01:24的相关文章

【Vue路由系统详述】 &#470097;

目录 路由命名 路由参数 路由参数的实现原理 子路由 子路由之append 动态绑定属性 子路由之append升级版 子路由之非append 路由重定向 手动路由 路由钩子 在路径中去掉"#"号 原文: http://blog.gqylpy.com/gqy/280 "一切分离都是为了更好的结合,本文详细介绍了前后端架构分离之后,前端如何实现路由的控制,即Vue路由系统--VueRouter. VueRouter下载地址(默认最新版本):https://unpkg.com/[e

Vue-router VUE路由系统

一:定义: 是Vue.js官方的路由插件,它和vue.js是深度集成的,适合用于构建单页面应用.vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来.传统的页面应用,是用一些超链接来实现页面切换和跳转的.在vue-router单页面应用中,则是路径之间的切换,也就是组件的切换. 二:基本用法 实现页面的两个页面的来回跳转 <div id="app"> <div> <router-link to="/">

前端进阶_Vue 路由系统

 Vue 路由系统  简单示例 main.js  import Vue from 'vue' import App from './App.vue' //https://router.vuejs.org/zh/guide/#html 如有疑问.请看官方手册 // 1.引入 vue-router import VurRouter from "vue-router" // 3.定义(路由 )组件 import Vmain from "./components/Vmain"

Vue.js—组件快速入门以及Vue路由实例应用

上次我们学习了Vue.js的基础,并且通过综合的小实例进一步的熟悉了Vue.js的基础应用.今天我们就继续讲讲Vue.js的组件,更加深入的了解Vue,js的使用.首先我们先了解一下什么是Vue.js的组件,组件其实就是页面组成的一部分,它是一个具有独立的逻辑和功能或页面,组件可以扩展 HTML 元素,封装可重用的代码.组件系统让我们可以用独立可复用的小组件来构建大型应用,几乎任意类型的应用的界面都可以抽象为一个组件树,如下图: 接下来我们就仔细讲讲组件的使用吧. 1 全局组件 以下就是我们注册

Vue路由传递参数详细说明

前言:最近我跟同事在做一个BI系统,采用前后端分离.整个系统包括数据分析系统.运营支持.系统设置等多个子系统.数据分析系统其实就是做各种数据报表.数据统计.实时数据的系统,这里面其实整个页面就是一个模板,最上面是filter.第二级是统计图.最下面是table数据.所以在数据分析子系统中,只要配置一个路由就可以匹配所有页面,在系统中,我把这个为公用路由.至于公用路由权限如何鉴定其实很简单:获取到用户权限列表后,渲染出所有的权限菜单,但注意每次跳转时一定要进行权限校验,具体原因自行思考.说着有点跑

Django进阶(路由系统、中间件、缓存、Cookie和Session

路由系统 1.每个路由规则对应一个view中的函数 url(r'^index/(\d*)', views.index), url(r'^manage/(?P<name>\w*)/(?P<id>\d*)', views.manage), url(r'^manage/(?P<name>\w*)', views.manage,{'id':333}), 2.根据app对路由规则进行一次分类 rl(r'^web/',include('web.urls')), 1.每个路由规则对应

ASP.NET MVC - 路由系统

ASP.NET MVC的请求URL不再对应于传统ASP.NET程序的ASPX文件物理地址,而是把请求映射到一个控制器(Controller)类的方法(Action)上,Controller.Action再加上参数构成ASP.Net MVC请求的Url.下面我们来看下路由系统的主要对象. UrlRoutingModule ASP.NET MVC框架的路由实质是从传统ASP.NET管道扩展HttpModule而来,这个模块正是UrlRoutingModule.通过反编译可以看到UrlRoutingM

ASP.NET的路由系统:路由映射

总的来说,我们可以通过RouteTable的静态属性Routes得到一个基于应用的全局路由表,通过上面的介绍我们知道这是一个类型的RouteCollection的集合对象,我们可以通过调用它的MapPageRoute进行路由映射,即注册URL模板与某个物理文件的匹配关系.路由注册的核心就是在全局路由表中添加一个Route对象,该对象的绝大部分属性都可以通过MapPageRoute方法的相关参数来指定.接下来我们通过实现演示的方式来说明路由注册的一些细节问题. 目录 一.变量默认值 二.约束 三.

探索ASP.NET MVC路由系统

引言 对于ASP.NET MVC的路由系统相信大家肯定不陌生.今天我们就深入ASP.NET的框架内部来看一下路由系统到底是怎么通过我们给出的地址(例如:/Home/Index)解析出Controller和Action.今天的这一篇文章我们就深入框架内部,看看里面的流程. UrlRouteModule介绍 ASP.NET MVC本质上是通过IHttpModule和IHttpHandler两个组件对ASP.NET框架进行扩展来实现的.ASP.NET 请求处理过程是基于管道模型的,这个管道模型是由多个