【问题标题】:Angular.js - create url using $location serviceAngular.js - 使用 $location 服务创建 url
【发布时间】:2014-03-24 05:39:45
【问题描述】:

有办法吗?

如果当前的url是say..

/table?sort=activity 我想立即更新它,我会这样做

$location.url(null, {sort: 'something'})

但是如果我想取回更新后的 url /table?sort=something 而不更新呢?

所有$location 函数在与参数一起使用时似乎都会立即更改url。..

【问题讨论】:

    标签: javascript angularjs angularjs-directive location-href


    【解决方案1】:

    为了完整起见,我想分享这个 SO 问题。问题和答案很旧,但答案很有可能仍然适用。

    How to programmatically create URLs with AngularJS

    【讨论】:

      【解决方案2】:

      你要找的是$location.search()

      看起来像这样:

      $location.search({sort: 'something'});
      

      基于 cmets 的更新

      根据the Developers Guide,可以使用以下方式读取网址:

      $location.absUrl();
      

      读取哈希:

      $location.path();
      

      读取查询参数:

      $location.search();
      

      【讨论】:

      • 那不行,它会改变 url,我只需要它把改变的 url 作为字符串返回..
      • 如果您只是需要阅读它,您可以使用 $location.path() 或 $location.url() 不带任何参数。也许我错过了什么。
      • 我猜你正在寻找 $location.absUrl();
      • 也不是 :) 我正在寻找可以为我“编译”网址的东西,这正是 $location.search({sort: 'something'}) 所做的,但不是直接更改网址,我只是希望它返回url 作为字符串.. 现在更清楚了吗?
      • 如果我猜对了,您需要一个 URL 构建器功能。实际上并没有更改 URL,而是构建了一个新 URL。也许这个 SO 答案可以帮助你:stackoverflow.com/a/12896408/36546
      猜你喜欢
      • 2015-04-16
      • 2020-06-08
      • 2012-07-07
      • 2014-06-30
      • 1970-01-01
      • 2013-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多