Angular2 Hashtag routing zu Verankern, nicht bewegen-Seite
So habe ich den folgenden Beitrag, um herauszufinden, wie man ein fragment an die url an.
Angular2 Routing mit Hashtag Sie auf Seite Anker
Und das fragment Hinzugefügt wird in Ordnung, allerdings die Seite nicht verschieben, um die resultierende Anker. Ich habe versucht, mit sowohl die name
und id
Attribut auf das Ziel div
, aber keiner scheint zu funktionieren.
Ich bin mit der Eckigen Version 2.0.0-rc.3 und die router-version 3.0.0-alpha.6.
Dank!
<a [routerLink]="[]" fragment="destination">Go TO DIV</a>
<div id='destination'>
<h2>Destination</h2>
</div>
Es ist genug Platz zwischen den 2 Elementen zu sagen, ob die Seite tatsächlich bewegt.
Und wie gesagt, ist die url korrekt fügt #destination
zu sich selbst.
Bitte fügen Sie den code, zeigen, was Sie versucht haben. Ein Plunker zu reproduzieren, wäre hilfreich.
Ich fügte hinzu, die aktuelle Methode, die ich versuche, aber ich habe auch versucht, die änderung in einer Funktion über die
Können Sie bitte versuchen Sie es mit einem tatsächlichen route Weg, wie
Die aktuelle route ist
Sorry, keine Ideen.
Ich fügte hinzu, die aktuelle Methode, die ich versuche, aber ich habe auch versucht, die änderung in einer Funktion über die
this._router.navigate( ['/somepath', id ], {fragment: 'test'});
Beispiel aus dem verlinkten post.Können Sie bitte versuchen Sie es mit einem tatsächlichen route Weg, wie
<a [routerLink]="['../currentroute']" fragment="destination">Go TO DIV</a>
Die aktuelle route ist
/docs
, also versuchte ich <a [routerLink]="['../docs']" fragment="destination">Go TO DIV</a>
, die noch produziert die richtige url. Aber es immer noch nicht bewegen.Sorry, keine Ideen.
InformationsquelleAutor jipson | 2016-08-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einer Problemumgehung möglicherweise eine Funktion schreiben, die in der Komponente, dass legt den Ort.hash-id der div, die Sie navigieren möchten.
Dann in der Komponente:
window.location.hash = ''; window.location.hash = location;
Ich habe versucht, es funktioniert, aber dann ist alles über dem Ziel verschwindet.
Weit weniger kompliziert als mit dem router. Ich verstehe, warum das ist kompliziert, weil der routing-und alle, die SPA-Sachen, aber die Anker-links sind so ein basic feature.
InformationsquelleAutor JohnMAC
Dieser arbeitete für mich:
Zuerst bereiten Sie
MyAppComponent
für automatisches scrollen in ngAfterViewChecked()...Navigieren Sie dann zu
my-app-route
sendenprodID
hashtagInformationsquelleAutor JavierFuentes
Diese Problemumgehung sollte den trick tun
Es generiert keine korrekten url auf einem beliebigen anderen Pfad als root.
InformationsquelleAutor Martin Cremer
Hier eine sehr einfache Lösung, die für mich gearbeitet:
In der Komponente, fügen Sie die folgende Methode:
Und in der Ansicht, die
<a>
- tag wird wie folgt Aussehen:InformationsquelleAutor Soma Mbadiwe
Nachdem ich all die Lösungen hier, habe ich beschlossen zu gehen mit einem kleinen und einfachen Richtlinie. Hier ist, was ich endete mit:
War die Idee, etwas zu schaffen, das flexible, das angebracht werden könnte, um jedes element auf der Seite.
Verwendung:
Und vergessen Sie nicht, zu erklären, dass die Richtlinie auf einem der Module:
InformationsquelleAutor rafaelbiten
Du kannst auch dieses plugin verwenden https://www.npmjs.com/package/ng2-page-scroll
Es hat einen animierten scrollen Sie zu einem bestimmten Anker.
InformationsquelleAutor Well-Made
Ich gefunden habe, sehr nützlich plugin finden Sie im nmp - ngx-scroll-zu, die funktioniert gut für mich. Aber es ist entworfen, für Eckige 4+, aber vielleicht wird jemand finden, der diese Antwort hilfreich.
InformationsquelleAutor mpro