所以。我一直在 AngularJS 中乱搞(它在我使用它的每一分钟都让我感到惊讶)我想知道,在使用 $routeProvider 和 $routeParams 时,是否有任何方法可以强制使用当前的 url/location/deep-link当页面上的某些型号发生变化时,浏览器中的地址栏会自动更新吗?
Here is the app that I'm messing around with.
它是 Angular 网站教程中的应用程序,除了我搞砸了它并添加了一些功能,如分页。如果您注意到,在访问此链接后,您将被重定向到 #/phones//age/5/0
。第一段是 Controller ,最后 4 段分别描述过滤器、文本查询、排序依据的“列”、每页的项目数和页码。
这个 Controller 通过 $routeParams 接受这些并像往常一样更新模型/ View 但是当用户更改模型/ View 时我如何强制 url 自动更改?因此,如果您在首次访问页面时在查询框中键入 xoom
,地址栏中的 url 将变为 http://brandonep.org/angular-test- phonecat/#/phones/xoom/age/5/0
只要你输入它。
提前致谢!抱歉,如果我不清楚,但我尽力了 :P
最佳答案
我会在您的网址 (/?a=1&b=2
) 上使用参数,然后将 $routeParams
注入(inject)您的 Controller 以解释 Controller 负载上的参数。
然后你可以使用 $watch
来观察你的模型,每次它改变时设置 window.location.url
。这是一个例子:http://jsfiddle.net/andytjoslin/eYJmR/
关于javascript - 当 Angular 中的模型发生变化时自动更新深层链接的 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11382411/