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

Posted gqy02

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue路由系统详述 -- 2019-08-08 18:01:24相关的知识,希望对你有一定的参考价值。

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

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

VueRouter下载地址(默认最新版本):https://unpkg.com/vue-router@3.0.1/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/

以上是关于Vue路由系统详述 -- 2019-08-08 18:01:24的主要内容,如果未能解决你的问题,请参考以下文章

Vue路由系统详述 𮒷

Vue组件系统 -- 2019-08-08 18:01:47

Vue组件系统 -- 2019-08-08 18:01:48

Vue组件系统 -- 2019-08-08 20:40:06

vue的生命周期和路由守卫

vue路由传参的三种基本方式