很多时候,在我们的 AngularJS 应用程序中,我们会对 URL 进行硬编码,如官方 Angular 网站上提供的教程中所示,例如:
<a href="#/phones/{{phone.id}}">
与此相关的几个问题。
如果从
#/
迁移到 PushState,是否需要手动重写应用程序中的每个 URL?在这种情况下,我们必须将上面的内容重写为`与旧版浏览器的反向兼容性怎么样?如果我们重写所有 URL,Angular 是否会知道自己在 URL 前面放置一个
#
,或者这是开发人员需要处理的事情?
希望有更多的 PushState 文档,这对于新手来说有点令人困惑。
最佳答案
- 是的,您必须手动更改所有这些链接。
- 是的,如果不支持 HTML5 历史记录 API,Angular 会自动添加
#
。
P.S. 你一开始就不需要 #
。 Angular 会自动为您添加该内容。
关于javascript - 将 AngularJS 应用程序移至 PushState,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18044902/