javascript - 将 AngularJS 应用程序移至 PushState

标签 javascript html angularjs pushstate

很多时候,在我们的 AngularJS 应用程序中,我们会对 URL 进行硬编码,如官方 Angular 网站上提供的教程中所示,例如:

<a href="#/phones/{{phone.id}}">

与此相关的几个问题。

  • 如果从 #/ 迁移到 PushState,是否需要手动重写应用程序中的每个 URL?在这种情况下,我们必须将上面的内容重写为`

  • 与旧版浏览器的反向兼容性怎么样?如果我们重写所有 URL,Angular 是否会知道自己在 URL 前面放置一个 #,或者这是开发人员需要处理的事情?

希望有更多的 PushState 文档,这对于新手来说有点令人困惑。

最佳答案

  1. 是的,您必须手动更改所有这些链接。
  2. 是的,如果不支持 HTML5 历史记录 API,Angular 会自动添加 #

P.S. 你一开始就不需要 # 。 Angular 会自动为您添加该内容。

关于javascript - 将 AngularJS 应用程序移至 PushState,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18044902/

相关文章:

javascript - 在 JavaScript 悬停时显示/隐藏 div

javascript - 电子邮件正则表达式错误地接受逗号

jquery - 通过 <a> 单击而不是 &lt;input&gt; 打开文件?

php - 我的表单如何使用 <select> 提交文本值?

javascript - Angular ErrorInterceptor 触发两次

javascript - ngClass OR 表达式

javascript - 遍历 map 的对象数组以呈现不在 props 中更新的组件键

javascript - 当 2 个 div 重叠时,你如何做一个 JQuery slideDown?

php - 如果条件字符串,如何通过 php 获取特定值

angularjs - Angular.js 观察函数调用的结果