前端路由的核心,就在于:改变视图的同时不会向后端发出请求。 这两个方法应用于浏览器的历史记录栈,在当前已有的 back、forward、go 的基础之上,它们提供了对历史记录进行修改的功能。 这样一来虽然没有向后端发送请求,但是页面状态和url关联在了一起,这就是前端路由。 随着history api的到来,前端路由开始进化了,前面的onhashchange,你只能改变#后面的url片段,而history api则给了前端完全的自由。 history api可以分为两大部分,切换和修改。 其实滚动条的位置,阅读进度,组件的开关的这些页面状态都可以存储到state的里面。 在hash模式下,前端路由修改的是#中的信息,而浏览器请求时是不带它的,所以没有问题。
暂无评论