Ember.js: HTML-Anchor-Hash-Unterstützung in der Link-to-Vorlage

Erstellt am 23. Feb. 2016  ·  10Kommentare  ·  Quelle: emberjs/ember.js

Ich arbeite an einer einseitigen App, bei der die Indexroute viele Abschnitte enthält, während ein Benutzer den Bildschirm nach unten scrollt. Damit dies funktioniert, möchte ich die HTML-Anker-Hash-Eigenschaft verwenden. Ich sehe in dieser geschlossenen Ausgabe aus dem letzten Jahr, dass Ember das Standardverhalten des Browsers beim Verknüpfen mit Anker-Hash-Eigenschaften unterstützt, wofür ich dankbar bin. Es wird auch die Möglichkeit erwähnt, ein "Fragment" -Feature der {{link-to}} -Komponente zu erstellen. Wenn ich es auf meiner Site (Em 2.3.0) und in diesem Twiddle versuche, funktioniert es nicht und ich sehe es nicht im Quellcode.

Ist dies eine unterstützte Funktion, ob jetzt oder in Zukunft? Ich stelle fest, dass beim Klicken eines Elements verwenden.

Vielen Dank,

Bryan

Bug Has Reproduction

Hilfreichster Kommentar

Ja, das wäre wirklich schön.

{{link-to "Cool Feature" "features#cool"}}   -->   <a href="/features#cool">Features</a>

Alle 10 Kommentare

Es gibt keine Hash / Fragment-Unterstützung im Router oder mit link-to .

Ich bin mir nicht sicher, warum <a href="#some-id"> nicht in Glut-Twiddle funktioniert. In JSbin funktioniert es einwandfrei:

http://emberjs.jsbin.com/gabune

@mmun scheint dies nur ein Problem zu sein oder habe ich es falsch verstanden?

Ja, das hier gemeldete spezifische Problem scheint in der Glut zu liegen. Es wäre schön, eine bessere Hash- / Fragment-Unterstützung im Router zu haben, sollte aber im RFC-Repo besprochen werden.

Ich verwende locationType = "history" und einen Anker wie diesen:

Administrator

Lädt die Seite neu auf " http: // localhost : 4200 / # c4412370-e892-11e4-a199-000c29a61086".

Dies ist mit Ember-cli / Ember 2.4.1.

Ich denke nicht, dass dies nur ein Twiddle-Problem ist. Hier ist eine JSBin, in der das Problem nicht auf der Indexroute angezeigt wird, sondern auf jeder anderen Route.

Reproduzieren:

  1. Besuchen Sie http://jsbin.com/bilewi
  2. Klicken Sie auf "unten" - funktioniert einwandfrei
  3. Scrollen Sie zurück nach oben und klicken Sie auf "foo" - Sie befinden sich jetzt auf der foo-Seite
  4. Klicken Sie auf "unten" - sollten Sie zum Ende der foo-Seite führen, aber stattdessen zum Ende der Indexseite

Ich habe das gleiche Problem mit Ankerlinks in meiner Ember 2.4.3-App

Hinweis: <a href='#foo'> funktioniert einwandfrei, wenn Sie sich auf der Indexroute befinden. Auf anderen Routen funktioniert es nicht richtig, sondern führt zu einer vollständigen Seitenaktualisierung

Ja, das wäre wirklich schön.

{{link-to "Cool Feature" "features#cool"}}   -->   <a href="/features#cool">Features</a>

Irgendwelche neuen Ideen dazu? Ich habe Ember-Anchor ausprobiert, ein nettes Add-On, das jedoch etwas zu viel Konfiguration erfordert und in Bezug auf Anker ohnehin nicht standardkonform ist. Ich glaube, dies sollte ein ziemlich wichtiges Feature sein, das implementiert werden muss.

Ich habe ein Problem im RFC-Repo geöffnet (wie vorgeschlagen). Bitte 👍 es oder fügen Sie Ihre Gedanken hinzu https://github.com/emberjs/rfcs/issues/330

Wenn Sie dies als Feature-Anfrage schließen und @sdhull freundlicherweise ein Problem im RFCs-Repo öffnen.

Danke euch allen!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen