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

100
Visualizações
IntersectionObserver se activa antes de que el elemento entre en la vista

Usando Vue, tengo la siguiente configuración en un componente:

 <template> <article> <!-- This content spans several viewport heights: you *have* to scroll to get to the bottom --> {{ content }} </article> <span ref="readMarker" /> </template>
 // Composition API with <script setup> const emit = defineEmit<{ (e: "read", value: number): void }>() const readMarker = ref<HTMLSpanElement>() let observer: IntersectionObserver; onMounted(() => { if (!readMarker.value) return observer = new IntersectionObserver( () => { emit("read", 1) }, { root: readMarker.value, }, ) observer.observe(readMarker.value) }) onDeactivated(() => observer.disconnect())

La idea es que cuando el usuario se desplaza hasta la parte inferior del contenido ( rootMarker ingresa a la vista), se emite el evento de read . Cuando el padre recibe el evento, carga otro componente como este y así sucesivamente ( @read.once="loadMore" ).

Sin embargo, tan pronto como cargo la página, el evento se activa de inmediato, sin que yo tenga tiempo de desplazarme. El mismo evento para instancias posteriores también se activa tan pronto como se carga cada instancia.

También intenté usar null como raíz y crear el observador fuera de onMounted (con onMounted solo conteniendo la llamada de observer.observe() ), pero eso no cambió nada.

Claramente he entendido mal algo sobre IntersectionObserver, pero estoy realmente confundido acerca de este comportamiento.

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

0

Resulta que si desea observar el desplazamiento en la ventana gráfica, la root de IntersectionObserver tiene que ser el document en sí, mientras que en mi pregunta estoy tratando de establecer readMarker.value como raíz, por lo que el observador solo miraría en él. y, por supuesto, verlo como "visible" de inmediato.

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