如果没有网址中的哈希字符,angular2的spa路由如何工作?

时间:2017-02-02 13:52:28

标签: javascript angular angular-ui-router single-page-application router

当执行angular2“Tour of Heros”教程时,我注意到他们的spa路由器工作时没有url中的尾随哈希(#)字符(例如kendo spa路由器)。

如果没有浏览器执行整页重新加载,angular2如何使其正常工作?

1 个答案:

答案 0 :(得分:0)

正在使用现代浏览器功能来实现这一目标。

阅读官方角度文档。

https://angular.io/docs/ts/latest/guide/router.html#!#browser-url-styles

附录:LocationStrategy和浏览器网址样式

当路由器导航到新的组件视图时,它会使用该视图的URL更新浏览器的位置和历史记录。这是一个严格的本地URL。浏览器不应将此URL发送到服务器,也不应重新加载页面。

现代HTML 5浏览器支持history.pushState,这种技术可以在不触发服务器页面请求的情况下更改浏览器的位置和历史记录。路由器可以组成一个自然的"与本来需要加载页面的URL无法区分的URL。

这里是危机中心网址" HTML 5 pushState"式: