$ location.path(redirecturl)和$ location.url(redirecturl)有什么区别?

时间:2015-08-05 16:53:09

标签: javascript angularjs

我说的是两者的setter方法而不是getter方法

对我来说$ location.url 并不总是需要一段时间来重定向,所以我想使用$ location.path,但我想知道其中的区别。

3 个答案:

答案 0 :(得分:5)

区别在于$location.url()$location.path()

的吸气剂

url()getter以/path?search=a&b=c#hash的形式返回路径,搜索和哈希,而path()只会返回/path

在重定向方面,如果它只是一个路径,那么我会使用

$location.path(redirectpath).

您可以在$location docs

了解更多信息

答案 1 :(得分:4)

基本上,path仅返回路径,但url也会返回可能的搜索或其他参数。

查看docs

中的示例

<强> $ location.path

// given url http://example.com/#/some/path?foo=bar&baz=xoxo
var path = $location.path();
// => "/some/path"

<强> $ location.url

// given url http://example.com/#/some/path?foo=bar&baz=xoxo
var url = $location.url();
// => "/some/path?foo=bar&baz=xoxo"

答案 2 :(得分:0)

path只是url的一部分,不包括searchhash

参见$location docs

中的示例