在执行angular2“英雄巡回赛”教程时,我只是注意到他们的spa路由器工作时在URL中没有结尾的井号(#)字符(例如,像kendo spa路由器那样)。

angular2如何使它在浏览器不执行整个页面重新加载的情况下工作?

最佳答案

它使用现代的浏览器功能来完成操作。

阅读官方的角度文档。

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

附录:LocationStrategy和浏览器URL样式

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

现代HTML 5浏览器支持history.pushState,该技术可更改浏览器的位置和历史记录而无需触发服务器页面请求。路由器可以组成一个“自然” URL,该URL与否则需要页面加载的URL不能区分。

这是这种“ HTML 5 pushState”样式的危机中心URL:

关于javascript - 在URL中没有哈希字符的情况下,angular2的spa路由如何工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42003962/

10-14 12:02
查看更多