2014-04-16 7 views
5

Utilizzo di ui-router Vorrei impostare un parametro URL indipendentemente dallo stato in cui mi trovo. Un caso d'uso per questo è passare tra le modalità di interfaccia bookmarkable (ad esempio "noioso" o "divertente").Modifica un parametro url nello stato corrente da ui-sref in angolare-ui-router

So che può essere fatto utilizzando la direttiva ng-click, ma in questo caso sono rimasto con ancore href-less, che non è molto utile.

Ho provato il più ovvio ui-sref=".({foo:'bar'})" ma non riesce con "Nessun punto di riferimento dato per il percorso ''".

Vuol ui-router hanno una soluzione nativa per fare questo? Idealmente mi piacerebbe avere qualcosa di simile:

<a ui-sref="currentState({interface:'boring'})">boring</a> 
<a ui-sref="currentState({interface:'fun'})">fun</a> 

risposta

11

Sembra che questa funzionalità è disponibile nel ramo maestro ancora inedito di ui-router:

<a ui-sref="{foo:'bar'}">foobar</a> 

vedi relativo problema: https://github.com/angular-ui/ui-router/issues/1031

+0

È stato rilasciato in produzione? – Mika

+0

@ Mika Il problema è ancora aperto, quindi probabilmente no. Non l'ho esaminato di recente. – Oleg

+0

Sì sembra così. Hai finito per utilizzare un'altra filiale in diretta o hai trovato un'altra soluzione? – Mika

5

Oppure per ora puoi fare qualcosa di simile nel controller o in app run come preferisco farlo in modo che sia disponibile ovunque (ogni vista):

Poi dovrebbe quindi essere in grado di utilizzare:

<a ui-sref="{{currentState}}({interface:'boring'})">boring</a>