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

433
Views
En Nuxt, ¿cómo pasa datos de diseños a páginas?

Por ejemplo, en mi /layouts/sidebar.vue tengo el siguiente código:

 <template> <div class="mainContainer"> <nuxt :date-sidebar="'This is from sidebar'"/> </div> </template>

Quiero pasar el valor de date-sidebar de los diseños a /pages/Request/index.vue y, finalmente, a /components/RequestTable.vue , pero actualmente lo estoy probando pasando cadenas estáticas con el siguiente código:

 <template> <div> <RequestTable :date-requested="'something'"/> {{ this.dateSidebar }} //data from sidebar that should receive something also tried just {{dateSidebar}} </div> </template> <script> export default{ props:['dateSidebar'] } </script>

Puedo recibir el valor estático de /page/Request/index.vue a mi /components/Request/RequestTable.vue pero no puedo recibir los datos de /layouts/sidebar.vue a mi /pages/Request/index .

Entonces, mi pregunta, como sugiere el título, sería, ¿cómo paso la barra lateral de date-sidebar de /layouts/sidebar.vue a /pages/Request/index .

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Hasta donde yo sé, esto solo funciona con nuxt-link (en páginas así) como se muestra aquí y no nuxt

pages/child.vue

 <template> <nuxt-child :test="'RESOLVE_PLZ'"/> </template>

pages/child/index.vue

 <script> export default { props: ["test"], mounted() { console.log(this.test) // RESOLVE_PLZ } } </script>

Es un poco lógico porque el diseño predeterminado no está realmente dirigido a este tipo de uso. Si necesita algo dinámico, generalmente es al revés (emitir al diseño) o simplemente usar Vuex (principalmente porque no tiene que "emitir" varios componentes).


También podrías hacer algunas cosas ingeniosas como esta.

child.vue

 <template> <div> {{ dateSidebar }} </div> </template> <script> export default { computed: { dateSidebar() { return this.$parent.$attrs['date-sidebar'] } }, } </script>

Pero esto no es tan común, por lo tanto, probablemente no sea la forma de hacerlo.

about 4 years ago · Juan Pablo Isaza Report

0

Debe usar los accesorios nuxtChildKey en las propiedades de su hijo. Desde el diseño, vincule nuxt-child-key en lugar de :date-sidebar .

Es posible que desee pasar un objeto en lugar de una cadena para poder pasar más datos. Así que su layout/sidebar se vería así...

 <template> <div class="mainContainer"> <nuxt :nuxt-child-key="'This is from sidebar'"/> </div> </template>

En la página infantil...

 <template> <div> <RequestTable :date-requested="'something'"/> {{ this.dateSidebar }} //data from sidebar that should receive something also tried just {{dateSidebar}} </div> </template> <script> export default{ props:['nuxtChildKey'], mounted(){ console.log(this.nuxtCHildKey, 'nck') } } </script>

Y hay una documentación disponible aquí... nuxt-child-key

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!