J'ai vu ces appels:
$location.url('/path/to/something/' + id + '/index');
et
$location.path('/path/to/something/' + id + '/index');
Il semble qu'ils font la même chose.
D'après la documentation, j'ai trouvé que l'URL est par exemple /path?a=b#hash
, et le chemin fait partie de l'URL.
Y a-t-il une différence qui parmi ces setters à utiliser ($location.path
ou $location.url
) en cas de même argument?
$location.path
renvoie la partie de l'URL après la barre oblique N'INCLUANT PAS les paramètres de chaîne de recherche (après le point d'interrogation)
$location.url
renvoie l'URL complète après la barre oblique, y compris les paramètres de chaîne de recherche.
Par exemple, supposons que vous ayez cette URL
http://example.com/#/some/path?foo=bar&baz=xoxo
$location.url
résultats /some/path?foo=bar&baz=xoxo
$location.path
résultats /some/path
Ces deux fonctions agissent à la fois setters
et getters
.
Url
est essentiellement Path + search strings
. Dans votre cas, il n'y a pas de paramètres de recherche, donc les deux renverront la même chose.
$location.path()
vous permet d'extraire une partie spécifique de votre en fonction de votre chaîne de recherche après la barre oblique et en excluant les paramètres je suppose. Et si vous n'avez pas de chaîne de recherche, cela fonctionne de la même manière que la méthode $location.url()
.