前端路由阶段

2022-05-29 08:40:35 浏览数 (1)

前端路由阶段

前后端分离阶段:

随着Ajax的出现, 有了前后端分离的开发模式.

后端只提供API来返回数据, 前端通过Ajax获取数据, 并且可以通过JavaScript将数据渲染到页面中.

这样做最大的优点就是前后端责任的清晰, 后端专注于数据上, 前端专注于交互和可视化上.

并且当移动端(iOS/Android)出现后, 后端不需要进行任何处理, 依然使用之前的一套API即可.

目前很多的网站依然采用这种模式开发.

单页面富应用阶段:

其实SPA最主要的特点就是在前后端分离的基础上加了一层前端路由.

也就是前端来维护一套路由规则.

前端路由的核心是什么呢?

改变URL,但是页面不进行整体的刷新。

如何实现呢?

URL的hash

URL的hash也就是锚点(#), 本质上是改变window.location的href属性.

我们可以通过直接赋值location.hash来改变href, 但是页面不发生刷新

HTML5的history模式:pushState

history接口是HTML5新增的, 它有五种模式改变URL而不刷新页面.

history.pushState()

HTML5的history模式:replaceState

history.replaceState()

HTML5的history模式:go

history.go()

补充说明:

上面只演示了三个方法

因为 history.back() 等价于 history.go(-1)

history.forward() 则等价于 history.go(1)

这三个接口等同于浏览器界面的前进后退。

0 人点赞