当模型在Angular中更改时,自动更新深度链接的url

Auto-update deep-linked url when model changes in Angular

本文关键字:更新 深度 链接 url 模型 Angular      更新时间:2023-09-26

所以。我一直在AngularJS中闲逛(我使用它的每一分钟都会让我感到惊讶),我想知道,当使用$routeProvider和$routeParams时,是否有任何方法可以强制浏览器中位置栏中的当前url/location/deep链接在页面上的某些模型更改时自动更新?

这是我正在摆弄的应用程序。这是angular网站上教程中的应用程序,只是我已经把它搞砸了,并添加了一些功能,比如分页。如果您注意到,访问此链接后,您将被重定向到#/phones//age/5/0。第一段是控制器,而最后4段分别描述了过滤器、文本查询、排序依据的"列"、每页项目数和页码。

控制器通过$routeParams接收这些信息,并像正常情况一样更新模型/视图,但当用户更改模型/视图时,我如何强制url自动更改?因此,如果您第一次访问时在页面的查询框中键入xoom,则位置栏中的url一键入就会变为http://brandonep.org/angular-test-phonecat/#/phones/xoom/age/5/0

提前感谢!很抱歉,如果我不清楚,但我已经尽力了:P

我会在您的url(/?a=1&b=2)上使用参数,然后将$routeParams注入控制器以解释控制器加载上的参数。

然后,您可以使用$watch来观察您的模型,每次更改时都设置window.location.url。以下是一个示例:http://jsfiddle.net/andytjoslin/eYJmR/