因此。我一直在搞乱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
答案 0 :(得分:4)
我会在您的网址(/?a=1&b=2
)上使用参数,然后将$routeParams
注入您的控制器以解释控制器负载上的参数。
然后,您可以使用$watch
观看模型,每次更改设置window.location.url
。这是一个例子:http://jsfiddle.net/andytjoslin/eYJmR/