更改AngularJS上的URL而不转换特定链接的状态,但将URL保留在链接中

时间:2013-08-27 07:31:59

标签: javascript angularjs browser-history angular-ui-router

我有一个包含两个动作的链接。当我点击它时,它会通过“ng-click”打开一个模态框,但它也会通过“ng-href”转换状态。

打开模态框开头。国家转型不是。但是,我需要在该状态转换中保持URL。

当我尝试使用$ locationChangeStart来阻止状态更改时,它还会阻止URL更改。这不是优选的。我也进行了一些研究,并在“reloadOnSearch”中找到了潜在的解决方案。但是,无法指向特定链接。并非页面上的所有链接都是这样做的,其他链接都是普通链接。此外,我不知道如何使用ui-router的reloadOnSearch。

我试图实现的功能类似于Pinterest的项目叠加。当您单击该项目时,它们会打开一个模式框并更改URL,但基础页面不会更改。这允许最终用户复制URL并与他们的朋友分享,当他们访问它时,它实际上将直接进入项目页面,而不是覆盖。

我目前正在使用ui-router,如果这样做更容易。

希望有人有解决方案吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用angular ui bootstrap模式以更好地与angularJS集成。 看看http://angular-ui.github.io/bootstrap/中的示例 或者您可以通过data-target =“#abc”而不是href =“#abc”打开模态