【问题标题】:Auto-update deep-linked url when model changes in Angular当 Angular 中的模型更改时自动更新深层链接的 url
【发布时间】:2012-07-08 10:28:58
【问题描述】:

所以。我一直在使用 AngularJS(我使用它的每一分钟都让我感到惊讶),我想知道,当使用 $routeProvider 和 $routeParams 时,有没有办法强制当前的 url/location/deep-link当页面上某些模型发生变化时,浏览器中的位置栏会自动更新吗?

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

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

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

【问题讨论】:

    标签: javascript angularjs url-routing


    【解决方案1】:

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

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

    【讨论】:

    • 有没有办法用 url 路径而不是参数来做到这一点?喜欢/bob/foo/bar 而不是/bob?a=foo&b=bar
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-18
    • 2013-09-22
    相关资源
    最近更新 更多