Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

210
Visualizações
Angular2: @HostBinding o host: {}?

Me preguntaba si había una diferencia drástica (y si la hay, ¿cuál es?) entre usar @HostBinding y el atributo de host del componente.

Me he estado haciendo esa pregunta mientras usaba animaciones porque estaba en estos casos (que se ven bastante cerca):

 @Component({ selector: 'mycomponent', animations: [ trigger('myTransition', [ state('inactive', style({ backgroundColor: '#eee', transform: 'scale(1)' })), state('active', style({ backgroundColor: '#cfd8dc', transform: 'scale(1.1)' })), transition('inactive => active', animate('100ms ease-in')), transition('active => inactive', animate('100ms ease-out')) ])], host: { '[@myTransition]': '', }, })

O

 @Component({ selector: 'mycomponent', animations: [ trigger('myTransition', [ state('inactive', style({ backgroundColor: '#eee', transform: 'scale(1)' })), state('active', style({ backgroundColor: '#cfd8dc', transform: 'scale(1.1)' })), transition('inactive => active', animate('100ms ease-in')), transition('active => inactive', animate('100ms ease-out')) ])], }) export class MyComponent { @HostBinding('@myTransition') get myTransition() { return ''; } }

Luego pensé que podría ser la nueva forma de enlace de host.

Gracias de antemano por tus consejos y aportes ;)

about 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

La orientación oficial es preferir HostListener/HostBinding

de la guía de estilo angular

Decoradores HostListener/HostBinding frente a metadatos de host

Estilo 06-03 Considere preferir @HostListener y @HostBinding a la propiedad host de los decoradores @Directive y @Component.

Sea consistente en su elección.

¿Por qué? La propiedad asociada con @HostBinding o el método asociado con @HostListener solo se pueden modificar en un solo lugar: en la clase de la directiva. Si usa la propiedad de metadatos del host, debe modificar tanto la declaración de la propiedad dentro del controlador como los metadatos asociados con la directiva.

Sin embargo, el proyecto angular/material2 dice preferir "host"

Enlaces de host

Prefiere usar el objeto host en la configuración de la directiva en lugar de @HostBinding y @HostListener. Hacemos esto porque TypeScript conserva la información de tipo de los métodos con decoradores, y cuando uno de los argumentos para el método es un tipo de evento nativo, esta información de tipo conservada puede generar errores de tiempo de ejecución en entornos que no son de navegador (por ejemplo, preconfiguración del lado del servidor). -representación).

about 4 years ago · Santiago Trujillo Relatório

0

Ambos son equivalentes.
En ES5, donde los decoradores no están disponibles, puede usar host: {}

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda