AngularJs de l'INTERFACE utilisateur du routeur - un état avec plusieurs Url
J'ai une demande pour ajouter un autre paramètre de l'URL qui pointe vers un état que j'ai déjà. Pour des raisons d'efficacité, je suis en train de voir si je peux ajouter plusieurs Url pour pointer vers le même état, ou devrais-je utiliser le $UrlRouterProvider.lorsque() la méthode de re-diriger vers cet état, dans cette nouvelle affaire.
Ex. c'est ce qui existe déjà
.state('site.link1',
{
url: '/link1',
templateUrl: '/views/link1.html',
controller: 'link1Ctrl'
})
et la demande est à ajouter www.site.com/newlink qui pointe vers le link1 page. Est là quelque chose comme cela;
.state('site.link1',
{
url: '/link1, /newlink',
...
- Actuellement, vous auriez à utiliser .quand ou de définir l'état plusieurs fois, avec différentes url... il y a quelques comment faire: stackoverflow.com/a/23853129/1679310
- si le seul changement est le stateParams vous pouvez vous en sortir avec la même route, et juste en passant vide param, la seule chose qui n'est pas très élégant, c'est que vous aurez un "//" dans l'url. si la spécification est la définition d'un complètement différent de l'url puis un nouvel état est nécessaire
- si 2 param valeur sur le même état redirige vers ces différents ursl ensuite, vous pouvez utiliser templateurl comme une fonction de l'endroit où vous obtenez premier argument comme routeparam et retourne l'url en conséquence. mais il est peu dans le flou sur ce qu'est exactement que vous essayez de faire.
Vous devez vous connecter pour publier un commentaire.
Vous utilisez params:
https://github.com/angular-ui/ui-router/wiki/URL-Routing
ainsi, lorsque vous utilisez le même état que ce
Essayez d'utiliser les Regex et un paramètre dans l'url. Il n'est pas optimal, mais il fonctionne.
Plus d'informations sur les regex dans les Url.
À générer des liens avec
ui-sref
passer le même paramètre avec le nom de l'état en fonctionvous pouvez utilisé
si()
fonctionpuis sur la racine config
J'ai trouvé cette approche très simple et propre: créer deux états, en changeant simplement le
url
propriétéurl
option? Ainsi, à la fin, il n'y aura qu'un seul état. Merci.J'ai eu presque le même problème, mais avec une contrainte - je ne voulais pas utiliser une redirection, car je voulais l'url dans le navigateur de rester le même, mais d'afficher le même état.
C'était parce que je voulais que le chrome, les mots de passe enregistrés de travail pour les utilisateurs déjà enregistrés l'url précédente.
Dans mon cas, je voulais que ces deux url :
/gilly
et/new/gilly
à pointent vers le même état.
J'ai résolu ce problème en ayant un état défini pour
/gilly
, et pour la deuxième url, j'ai défini un résumé de l'état appelé/new
.Cela devrait être mis en place comme ceci :