web-dev-qa-db-fra.com

AngularJS change l'url avec $ location

J'essaie de changer l'URL avec AngularJS, mais pas avec une redirection, changez simplement l'URL après un événement.

J'ai besoin de ceci:

www.myurl.com/inbox/1 À ce www.myurl.com/inbox/25

En d'autres termes, modifiez simplement le dernier identifiant.

J'essaye de faire ça:

$location.path('/inbox/'+id);

Mais ce que je reçois est le suivant:

www.myurl.com/inbox/1#/inbox/25

21
Matheus Lima

Angular applique l'idée d'une application Web d'une page. Les navigateurs ne prennent aucune mesure en cas de modification de quoi que ce soit après la valeur "#". Ainsi, la meilleure pratique consiste à ajouter des attributs variables dans l'URL après la valeur '#', ce qui gardera l'URL et l'attribut de base propres dans la barre d'adresse du navigateur et résoudra votre problème. Mon conseil est de garder le nom d'utilisateur, page no. ou tout identifiant d'attribut spécifique après la valeur '#'. Dans votre cas, vous devez utiliser quelque chose comme ci-dessus

www.myUrl.com/#/inbox/25

ou

www.myUrl.com/inbox/#/25

16
binariedMe

généralement angular ressemblent à

www.myurl.com/#/inbox/1

dans quel cas

$location.url('/inbox/25');

devrait fonctionner pour vous

15
Orane