Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

99
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!