Ember.js: Suporte a hash HTML Anchor no modelo de link

Criado em 23 fev. 2016  ·  10Comentários  ·  Fonte: emberjs/ember.js

Estou trabalhando em um aplicativo de página única em que a rota do índice tem muitas seções enquanto o usuário rola a tela para baixo. Para que isso funcione, eu quero usar a propriedade hash HTML âncora. Vejo nesta edição encerrada do ano passado que o Ember oferece suporte ao comportamento padrão do navegador de vinculação a propriedades hash de âncora, pelo que sou grato. Também menciona a possibilidade de criar um recurso de "fragmento" do componente {{link-to}}. Quando tento no meu site (Em 2.3.0) e neste twiddle , não funciona e não vejo no código-fonte.

Este é um recurso compatível, agora ou no futuro? Percebo que, quando acabo de colocar um elemento em meu modelo de guidão, o clique do usuário do hash de âncora acaba acionando um recarregamento da página quando estou em outra rota em vez de uma mera transição de rota, por isso eu gostaria para usar {{link-to}} em vez de um mero elemento.

Obrigado,

Bryan

Bug Has Reproduction

Comentários muito úteis

Sim, isso seria muito bom.

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

Todos 10 comentários

Não há suporte para hash / fragmento no roteador ou com link-to .

Não tenho certeza por que <a href="#some-id"> não está funcionando no twiddle ember. Funciona bem em JSbin:

http://emberjs.jsbin.com/gabune

@mmun isso parece apenas um problema de

Sim, o problema específico relatado aqui parece estar em dúvida. Seria bom ter melhor suporte a hash / fragmento no roteador, mas deve ser discutido no repositório RFCs.

Estou usando locationType = "history" e uma âncora como esta:

admin

recarrega a página para " http: // localhost : 4200 / # c4412370-e892-11e4-a199-000c29a61086"

Isso é com Ember-cli / Ember 2.4.1.

Não acho que seja um problema apenas do Twiddle. Aqui está um JSBin em que o problema não aparece na rota do índice, mas aparece em qualquer outra rota.

Reproduzir:

  1. Visite http://jsbin.com/bilewi
  2. Clique em "inferior" - funciona bem
  3. Role para cima e clique em "foo" - você está agora na página foo
  4. Clique em "final" - deve levá-lo para o final da página foo, mas em vez disso, leva você para o final da página de índice

Estou tendo o mesmo problema com links de âncora em meu aplicativo Ember 2.4.3

Nota: <a href='#foo'> funciona bem se você estiver na rota do índice. Ele não funciona corretamente em outras rotas, causando uma atualização completa da página

Sim, isso seria muito bom.

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

Alguma ideia nova sobre isso? Eu tentei o ember-anchor, que é um ótimo complemento, mas requer configuração um pouco demais e não é compatível com os padrões em relação às âncoras. Eu acredito que este deve ser um recurso muito importante para implementar.

Abri um problema no repositório rfcs (conforme sugerido). Por favor, add ou adicione sua opinião https://github.com/emberjs/rfcs/issues/330

Fechar isso como uma solicitação de recurso e @sdhull gentilmente abriu um problema no

Obrigado a todos!

Esta página foi útil?
0 / 5 - 0 avaliações