miniRouter 一个前端路由的简单实现

之前介绍sprite框架的单页应用实现原理时,提到了单页应用的重要组成部分——前端路由。

本篇文章就介绍如何自己实现一个前端路由。

前端路由,顾名思义是由前端来实现路由控制。

简单来说路由控制就是一个url对应一个逻辑,请求不同的url将会得到不同的页面效果。

但是由于请求一个完整的url,会使得浏览器向服务器请求数据,并且刷新整个页面。如果只想刷新页面中的一部分,那么一次完整的http请求将显得有些浪费资源了。

所以就提出了前端路由的概念,采用改变并监听url的hash值,从而在前端实现路由的逻辑。由于url的hash值发生变化,不会使浏览器刷新页面,这意味着url的变化将不会……

阅读更多

vue 移动Web应用前端路由跳转总结

一、当前页面 和 目标页面 之间不存在中间页面

例如:

壳子–> A –> B

【壳子为微信公众号、钉钉或者今日校园的应用菜单页面】

【A–>B代表先访问A页面然后在A页面跳转到B页面】

(1).如果在B页面点击后退按钮,希望能够回到当前页面A,那么从A–>B用push。

( 原理:使用push进行路由跳转会在浏览器历史记录栈顶加入当前页面的url,即在A页面使用push跳转到B页面后,浏览器历史纪录栈顶记录为A的url,因此在B页面点击后退按钮时,浏览器会从历史纪录栈pop出栈顶记录即A的url并且跳转到A页面 )

(2).如果在B页面点击后退按钮,不希望回到A而是直接返回微信……

阅读更多