将AngularJS应用程序移动到pushState

时间:2013-08-04 16:10:24

标签: javascript html5 angularjs pushstate

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

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

关于此问题的几个问题。

  • 如果从#/转到pushState,是否需要手动重写其应用程序中的每个网址?在这种情况下,我们必须将上述内容重写为“

  • 与旧浏览器的反向兼容性怎么样?如果我们去重写所有网址,Angular会不会知道在网址前面放一个#,或者这是开发人员需要处理的内容?

希望有更多的pushState文档,这对新来者来说有点混乱。

1 个答案:

答案 0 :(得分:4)

  1. 是的,您必须手动更改所有这些链接。
  2. 是的,如果不支持HTML5历史记录API,angular会自动添加#
  3. P.S。您从不需要#开头。 Angular会自动为您添加。