Ember.js: Soporte HTML Anchor hash en plantilla de enlace

Creado en 23 feb. 2016  ·  10Comentarios  ·  Fuente: emberjs/ember.js

Estoy trabajando en una aplicación de una sola página donde la ruta del índice tiene muchas secciones a medida que un usuario se desplaza hacia abajo en la pantalla. Para que esto funcione, quiero usar la propiedad hash de anclaje HTML. Veo en este número cerrado del año pasado que Ember admite el comportamiento predeterminado del navegador de vincular a propiedades hash de anclaje, por lo que estoy agradecido. También menciona la posibilidad de crear una característica de "fragmento" del componente {{link-to}}. Cuando lo intento en mi sitio (Em 2.3.0) y en este giro , no funciona y no lo veo en el código fuente.

¿Es esta una función compatible, ya sea ahora o en el futuro? Me doy cuenta de que cuando solo coloco un elemento en la plantilla de mi manillar, el clic del usuario en el hash de anclaje termina activando una recarga de la página cuando estoy en otra ruta en lugar de una simple transición de ruta, por lo que me gustaría para usar {{link-to}} en lugar de un simple elemento.

Gracias,

Bryan

Bug Has Reproduction

Comentario más útil

Sí, esto estaría muy bien.

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

Todos 10 comentarios

No hay soporte para hash / fragmentos en el enrutador o con link-to .

No estoy seguro de por qué <a href="#some-id"> no funciona en ember-twiddle. Funciona bien en JSbin:

http://emberjs.jsbin.com/gabune

@mmun, ¿esto parece un problema de tonterías o he leído mal?

Sí, el problema específico reportado aquí parece estar en un giro de brasas. Sería bueno tener una mejor compatibilidad con hash / fragmentos en el enrutador, pero debería discutirse en el repositorio de RFC.

Estoy usando locationType = "history" y un ancla como esta:

administración

vuelve a cargar la página en " http: // localhost : 4200 / # c4412370-e892-11e4-a199-000c29a61086"

Esto es con Ember-cli / Ember 2.4.1.

No creo que este sea un problema exclusivo de Twiddle. Aquí hay un JSBin donde el problema no aparece en la ruta del índice, pero sí aparece en cualquier otra ruta.

Reproducir:

  1. Visite http://jsbin.com/bilewi
  2. Haga clic en "abajo" - funciona bien
  3. Desplácese hacia arriba y haga clic en "foo" - ahora está en la página de foo
  4. Haga clic en "inferior": debería llevarlo al final de la página de foo, pero en su lugar lo llevará al final de la página de índice.

Estoy experimentando el mismo problema con los enlaces de anclaje en mi aplicación Ember 2.4.3

Nota: <a href='#foo'> funciona bien si se encuentra en la ruta del índice. No funciona correctamente en otras rutas, sino que provoca una actualización de página completa

Sí, esto estaría muy bien.

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

¿Alguna nueva idea sobre esto? Probé ember-anchor, que es un buen complemento, pero requiere demasiada configuración y, de todos modos, no cumple con los estándares con respecto a los anclajes. Creo que esta debería ser una característica muy importante de implementar.

Abrí un problema en el repositorio de rfcs (como se sugiere). Por favor 👍 o agregue sus pensamientos https://github.com/emberjs/rfcs/issues/330

Cerrando esto como es una solicitud de función y @sdhull amablemente abrió un problema en el repositorio de RFC.

¡Gracias a todos!

¿Fue útil esta página
0 / 5 - 0 calificaciones