url - angularjs $location.hash 使##,但我需要#

标签 url angularjs

AngularJS 1.2.0(但低版本也有同样问题)

我有一个带有一些小部件的网络应用程序,并希望将它们的状态保存到 URL 中。
我现在用 $location.hash('param1=1&param2=678') 做这件事命令。但我得到的网址如下:domain.com/##param1=1&param2=678它工作正常,我可以恢复我的应用程序的状态。我遇到的一个问题是,当有人在例如邮件应用程序中单击这样的链接时,他们的浏览器会使用/23 对其中一个哈希值进行编码,因此我的应用程序出错了。我该如何解决这个问题?谢谢

这是 plunk:http://plnkr.co/edit/VVjEUzROou6hu8B8sURa?p=preview
您需要在新窗口中打开它才能测试哈希

最佳答案

对于 Angular 中的标准哈希位置,您可以使用

location.path("myappstate/1");

因为 angular 设置为将第一个哈希状态视为应用程序的主要 url 或路径。 location.hash() 在主散列状态(路径)上设置辅助散列

关于url - angularjs $location.hash 使##,但我需要#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19252772/

相关文章:

PHP规范化远程url

javascript - 如何在 AngularJS 中获取 ul li 值

javascript - 应用 ng-model 过滤器时,ng-repeat 负载为空

javascript - 包含外部 API 时如何测试 AngularJS?

php - 在 php 中获取 url 内容的安全性

java - 以编程方式将网站放入新的 Word 文件中......在 Java 中

javascript - 访问json响应的某个key [AngularJS]

javascript - Material AngularJS ngShow 和 ngHide

javascript - jQuery 从 URL 上的过滤器搜索中获取 categoryid

Java 将字符串转换为 URL 兼容版本