Ho un CMS che obbliga gli URL alle pagine a essere di un certo modello. Abbiamo bisogno di riscrivere condizionalmente gli hrefs di questi link.AngularJS: ui-router href riscrive in ui-sref
Il CMS verrà stampata sulla pagina qualcosa come:
<a href="/path/to/the/zoo/gorilla.html">Go</a>
nostro router ha la necessità di puntare in realtà per
#/zoo/gorilla
Se avessimo scritto questo link noi stessi, sarebbe simile:
<a ui-sref="zoo('gorilla')>Go</a>
Il problema è che non possiamo sempre garantire che la parte/zoo/gorilla significhi che siamo allo zoo ('gor illa ').
Il modo più semplice sarebbe quella di analizzare l'url CMS in all'URL router e solo fare qualcosa di simile:
link.attr("href", "#/zoo/gorilla");
capisco perché questo è in genere contro l'idea stessa di ui-router, ma sono Spero di trovare un modo per usarlo per questo strano caso.
ho provato questo prima di chiedere. La modifica di href indirizzerebbe l'URL all'hash corretto, ma lo stato non riconosce questa modifica. – oooyaya
@oooyaya ha cambiato il codice per consentire al router di vedere la modifica –
Questo è quello che ho fatto. Il problema era in realtà qualcos'altro: l'utilizzo di un sotto-router denominato sotto-viste e il loro target nell'oggetto views. Ecco perché la vista non è mai cambiata - non stavo dicendo dove andare. – oooyaya