在Angular中更改模型时自动更新深层链接的URL

时间:2012-07-08 10:28:59

标签: javascript angularjs url-routing

因此。我一直在搞乱AngularJS(我每次使用它都会让我感到惊讶)我想知道,当使用$ routeProvider和$ routeParams时,是否有任何方法可以强制使用当前的url / location / deep-link浏览器中的位置栏会在页面上某些模型发生变化时自动更新?

Here is the app that I'm messing around with. 它是来自angular网站上的教程的应用程序,除了我已经搞砸了它并添加了一些功能,如分页。如果您发现,在访问此链接时,您将被重定向到#/phones//age/5/0。第一个段是控制器,而后四个段分别描述过滤器,文本查询,排序的“列”,每页的项目数和页码。

这个控制器通过$ routeParams获取这些内容并像正常一样更新模型/视图但是如何在用户更改模型/视图时强制url自动更改?因此,如果您在首次访问时在页面上的查询框中键入xoom,则只要您输入,位置栏中的网址就会更改为http://brandonep.org/angular-test-phonecat/#/phones/xoom/age/5/0

提前致谢!抱歉,如果我不清楚,但我尽了最大努力:P

1 个答案:

答案 0 :(得分:4)

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

然后,您可以使用$watch观看模型,每次更改设置window.location.url。这是一个例子:http://jsfiddle.net/andytjoslin/eYJmR/