Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

438
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda