Como posso obter um componente usando xlink: Ligações de acolhimento href para trabalhar em angular com hera habilitado

votos
0

Eu não era capaz de fazer uma plunkr bem sucedida para isso, então eu estou tentando fazer esta de qualquer maneira baseado na descrição. Nós temos um componente NG que utiliza uma ligação para ligar uma propriedade de ícone para um xlink SVG host: href.

@Component({
  selector: 'use', // tslint:disable-line
  template: ``
})
export class SohoIconUseComponent {
  // This works but we cant use it because it fails on Safari 12
  // @HostBinding('attr.href') get href(): string {
  //   return '#' + this.icon;
  // }

  // This does not work
  @HostBinding('attr.xlink:href') get xhrefLink(): string {
    return '#' + this.icon; 
  }

  @Input() icon: string;
}

Assim, logo que nós atualizado para NG 9 e habilitado Ivy nossos ícones parou de funcionar. Mas se desativar hera ele vai trabalhar com qualquer href ou xlink: href.

Tentei olhar para bugs no repo Ng mas apenas cant parecem descobrir isso? Todas as idéias lá fora?

Uma ideia que tenho é que você tem que usar setAttributeNSpara definir o xlink: href às vezes. Pergunto-me se eu preciso vincular a hostbinding uma maneira diferente para que o seu conjunto usando setAttributeNS?

Publicado 19/03/2020 em 22:00
fonte usuário
Em outras línguas...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more