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

513
Views
Pasar valor de Child a Parent en svelte - Intuición para la directiva bind

Esta es una pregunta súper simple, pero me molesta que no estoy entendiendo completamente lo que está pasando aquí, porque realmente me gusta svelte y quiero entenderlo.

Hay este increíble video sobre cómo pasar datos de un niño a un padre: https://www.youtube.com/watch?v=lqvY_0gJf_I&list=PLoWoeRXn334kDuFrZqIqHrFCN71fSZE4X&index=1&t=1804s

Su primera forma de hacerlo es el enlace de datos bidireccional.

Esencialmente funciona como en este REPL https://svelte.dev/repl/24adfb0a93734265952e2870155aeb49?version=3.43.1

Simplemente no entiendo completamente el flujo de datos aquí (y en general esbelto). Si cambio algo en el campo de entrada representado, esto significa esencialmente que estoy cambiando algo en el niño, ¿verdad? En este caso asumo la

  1. lo que pasa es que la variable person en el niño es cambiada por el usuario
  2. Como tiene la directiva bind , de alguna manera pasa estos datos del hijo al padre
  3. En el padre, la instancia del componente hijo se inicializa pasando el valor de p (una variable inicializada en el padre con un valor) a la variable exportada person del hijo
  4. de alguna manera , la variable p se cambia en el padre modificando el valor en el hijo y se actualiza un valor reactivo en el hijo (la variable upper ).

Ahora mi pregunta es: ¿Por qué se actualiza esta variable p y hay alguna comprensión intuitiva de esta directiva bind:<variable> ? Simplemente no puedo envolver mi cabeza alrededor de eso.

Creo que también hay otras posibilidades para pasar datos de un niño a un padre (como con el envío de eventos). Pero comencemos con este ;)

 //App.svelte <script> import Box from './inp.svelte' let p = 'MyName' $: nameUpper = p.toUpperCase() </script> <Box bind:person={p} /> <p>Reactive value in the parent component: {nameUpper}</p> <hr />
 // inp.svelte <script> export let person = 'valueInChild' </script> <input type="text" placeholder="put the name here" bind:value={person} />
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Para comprender intuitivamente , solo tiene que imaginar que tanto el niño como el padre se refieren al mismo objeto.

Tenga en cuenta que en su ejemplo, si agrega lo siguiente a App.svelte

 <input type="text" placeholder="put the name here" bind:value={p} />

verá que actualizar el valor en el padre también muestra el hijo. Entonces, la mejor manera de entender la directiva bind: es que no hace una copia, realmente es el mismo objeto/valor/referencia... tanto en el padre como en el hijo.

about 4 years ago · Juan Pablo Isaza 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!