Ich habe ein CMS, das URLs zu Seiten mit einem bestimmten Muster zwingt. Wir müssen diese Links neu schreiben.AngularJS: ui-Router href in ui-sref umschreiben
Das CMS auf der Seite so etwas wie gedruckt wird:
<a href="/path/to/the/zoo/gorilla.html">Go</a>
Unsere Router weisen tatsächlich auf
#/zoo/gorilla
Wenn wir den Link selbst geschrieben hatte, würde es aussehen muss:
Das Problem ist, wir können nicht immer garantieren, dass der/Zoo/Gorilla Teil bedeutet, dass wir im Zoo sind ('Gor Illa ').
wäre, die CMS-URL in dem Router URL Der einfachste Weg, zu analysieren und wie etwas zu tun:
link.attr("href", "#/zoo/gorilla");
Ich verstehe, warum dass in der Regel gegen die Idee des ui-Router ist, aber ich Ich hoffe, einen Weg zu finden, es für diesen seltsamen Fall zu benutzen.
ich das versucht, bevor er fragte machen. Wenn Sie den href ändern, wird die URL auf den richtigen Hashwert gesetzt, der Status erkennt diese Änderung jedoch nicht. – oooyaya
@oooyaya hat den Code geändert, damit der Router die Änderung sehen kann –
Dies ist, was ich getan habe. Das Problem war eigentlich etwas anderes - Ui-Router benannte Unteransichten zu verwenden und sie im Sichtenobjekt anzusprechen. Deshalb hat sich der Ausblick nie geändert - ich habe ihm nicht gesagt, wohin er gehen soll. – oooyaya