时间:2021-05-26
为什么需要前端路由
在前后端分离的现在,大部分应用的展示方式都变成了 SPA(单页面应用 Single Page Application)的模式。为什么会选择 SPA 呢?原因在于:
归根结底,还是因为 SPA 能够提供更好的用户体验。
为了更好地实现 SPA,前端路由是必不可少的。假设一个场景:用户在 SPA 页面的某个状态下,点击了强制刷新按钮。如果没有前端路由记住当前状态,那么用户点击该按钮之后,就会返回到最开始的页面状态。这不是用户想要的。
当然,需要前端路由另一个点在于:我们可以更好地进行 SPA 页面的管理。通过将组件与路由发生配对关联,依据路由的层级关系,可为 SPA 内部的组件划分与管理提供一个依据参考。
Hash 路由模式 与 History 路由模式
这是两种常见的前端路由模式。
Hash 路由模式
Hash 模式使用了浏览器 URL 后缀中的#xxx部分来实现前端路由。默认情况下,URL后缀中的#xxx hash 部分是用来做网页的锚点功能的,现在前端路由看上了这个点,并对其加以利用。
比如这个 URL:http://ponent) } }) } } // 所有的插件都需要实现install 方法,传入参数是Vue的构造函数 FVueRouter.install = function(_Vue){ //将Vue的构造函数保存起来 Vue = _Vue; //实现一个混入操作的原因,插件的install阶段非常早,此时并没有Vue实例 //因此,使用mixin,延迟对应操作到Vue实例构建的过程中来执行。 Vue.mixin({ beforeCreate(){ //获取到Router的实例,并将其挂载在原型上 if(this.$options.router){ //根组件beforeCreate时只执行一次 Vue.prototype.$router = this.$options.router; this.init(); } } }) }export default FVueRouter;
这里是最为简单的一种实现。有几个值得注意的点:
结尾
在本文中,我们讲解了 前端路由常见的两种模式:Hash 模式与 History 模式。同时,我们尝试自己实现了一个最为简单的 Vue Router。更多相关的 Vue Router 的细节,可以参考其官网。希望本文对你有用。
到此这篇关于Vue Router的手写实现方法实现的文章就介绍到这了,更多相关Vue Router手写内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了vue.js中实现登录控制的方法。分享给大家供大家参考,具体如下:vue中使用vue-router实现登录的控制在做后台管理系统中很常见,但是不想
本文介绍了Vue利用canvas实现移动端手写板的方法,分享给大家,具体如下:清除保存Canvas画板vardraw;varpreHandler=functio
注意:vue-router是无法完全控制前端路由权限。1、实现思路使用vue-router实例函数addRoutes动态添加路由规则,不多废话直接上思维导图:2
最近因为业务需要,实现了一个简单的前端router,正好也来看一下vuerouter是怎么实现的。这次先来一起看看vue-router初始化时做了什么。vuer
使用vue-router来实现webapp的页面跳转,有时候需要传递参数,做法如下:参考文献:http://router.vuejs.org/en/named.