AngularJS中的$ location.path(path)vs $ location.url(url)

naX*_*aXa 26 url angularjs

我见过这些电话:

$location.url('/path/to/something/' + id + '/index');
Run Code Online (Sandbox Code Playgroud)

$location.path('/path/to/something/' + id + '/index');
Run Code Online (Sandbox Code Playgroud)

看起来他们正在做同样的事情.
从文档中我发现URL是eg /path?a=b#hash,而path是URL的一部分.

在相同参数的情况下,使用(或)这些设置器中的哪一个有什么区别?$location.path$location.url

Ric*_*ton 42

$location.path 斜杠之后返回URL的一部分,不包括搜索字符串参数(在问号后面)

$location.url 在斜杠后返回整个URL,包括搜索字符串参数.

例如,假设您有此URL

http://example.com/#/some/path?foo=bar&baz=xoxo

$location.url 回报 /some/path?foo=bar&baz=xoxo

$location.path 回报 /some/path

这两个函数兼有settersgetters.

Url基本上是Path + search strings.在您的情况下,没有搜索参数,因此它们都将返回相同的内容.

  • 谢谢你!请注意,我问的是设置者。 (2认同)