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

225
Visualizações
Angular 2: obtener la altura emergente de DOM

Tengo una "ventana emergente" que muestra datos recuperados de una base de datos en mousemove y aparece en la ubicación del mouse. Se parece a esto:

 <div (mousemove)="onMouseMove($event)></div> onMouseMove(event: MouseEvent) { this.xCoord = event.x this.yCoord = event.y } <div [style.left.px]="xCoord" [style.top.px]="yCoord" class="popup"> ... </div>

Debido a que las dimensiones de la ventana emergente son dinámicas, según su contenido, necesito recuperar las dimensiones para que la ventana emergente se coloque correctamente (sobre el objetivo y centrada horizontalmente). ¿Es posible en Angular 2 obtener propiedades de estilo de un elemento sin, por ejemplo, un evento de mouse? Idealmente, las dimensiones se asignan a una variable cuando aparece la ventana emergente.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

¿Por qué no usa Javascript básico para acceder a las propiedades de ancho y alto del elemento DOM, así:

JavaScript:

 getPopupDimentions() { let myElement = getElementById("myPopup"); return { width: myElement.style.width, height: myElement.style.height } }

HTML:

 <div [style.left.px]="xCoord" [style.top.px]="yCoord" class="popup" id="myPopup"> ... </div>

Por supuesto, el Javascript que publiqué anteriormente deberá llamarse una vez que se haya iniciado la ventana emergente.


Si quisiera un enfoque más angular , le recomendaría usar View Child, así:

JavaScript:

Asegúrese de importar ViewChild import { Component, ViewChild } from '@angular/core'

 @ViewChild('mypopup') mypopup; getPopupDimentions() { return { width: this.mypopup.nativeElement.style.width, height: this.mypopup.nativeElement.style.height } }

HTML:

 <div [style.left.px]="xCoord" [style.top.px]="yCoord" class="popup" #mypopup> ... </div>

Si desea obtener más información sobre los niños de la vista Angular, le recomiendo consultar esta pregunta y sus respuestas .

over 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