路由
1.后端路由
优点:
a.有利于模块化,(requirejs也可以实现)
缺点:
a.每次都要和服务断交互,刷新页面,影响用户体验
b.严重依赖后端
c.
2.前端hash路由
优点:
a.方便页面前进后退
缺点:
a.地址不美观(多了一个#)
b.不利于seo
c.页面循环跳转,路由会乱
3.前端单页路由
优点:
a.近似原生app的体验
b.单页,方便后续定制页面切换动画
缺点:
无
单页应用不仅仅是在页面交互是无刷新的,连页面跳转都是无刷新的,为了实现单页应用,所以就有了前端路由。
hash路由实现
1.添加路由规则,即对应处理函数
2.onhashchange 监听 hash变化
3.匹配对应规则
4.回调函数 更新页面
h5 history pushstate/popstate
1.页面跳转时,pushstate
2.页面会退时,触发popstate
3.需要后台路由支持,会请求后台页面