AngularJS ui-router, Blättern Sie zum nächsten Schritt über Staatliche ändern
Ich bin mit UI-router in meine app und ich würde gerne so ein einfaches "scrollTo" auf einen Anker, wenn die URL/Status ändert. Ich will nicht zum laden der nächste Schritt aus einer Vorlage laden oder einen neuen controller. Ich würde nur gerne mehrere divs auf der Seite und Blättern Sie nach oben und unten zwischen Ihnen. Eine vereinfachte Ansicht des HTML wäre dies.
<div id="step1">
<button ng-click="moveToStep2()">Continue</button>
</div>
<div id="step2">
<button ng-click="moveToStep3()">Continue</button>
</div>
<div id="step3">
Step 3 content
</div>
So, wenn Sie geben Sie die Seite an die URL domain.com/booking
Wenn Sie die erste Schaltfläche klicken, ich würde gerne meine controller-code zum ändern der URL, um domain.com/#/step-2 und scrollen Sie nach unten zu "Schritt 2" div.
Ideal, wenn der Nutzer den zurück-button wieder auf die erste URL und Blättern Sie zurück zu Schritt 1.
Weiß jemand, wie dies zu tun?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ersten. Sie müssen definieren den Staat.
Hinzufügen
onEnter
controller (so können Sie$inject
Dinge).Animieren (oder einfach "scrollen") zu element
Hier Beispiel
The ui-view directive tells $state where to place your templates.
, so, wenn Sie nicht verwenden Sie Vorlagen, die Sie brauchen es nicht.Mit
Können Sie etwas wie das hier tun:
Können Sie hören
$locationChangeSuccess
z.B.Einfaches Beispiel: http://angular-ui.github.io/ui-router/site/#/api/ui.router.router.$urlRouter
onEnter
ist die richtige Lösung.Wenn die divs sind bereits auf der aktuellen Seite, einfach codieren Sie die href der aktuellen