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

836
Vistas
¿Cómo paso una matriz de PHP a Vue.js?

Tengo un archivo trainers.inc.php que genera una matriz con datos extraídos de una base de datos:

 $trainers_meta[0] = array('Id' => $id, 'Name' => $name, 'Description' => $description, 'Experience' => $experience, 'Focus' => $focus, 'Fileformat' => $format, 'File' => $file);

Codifiqué la matriz PHP como JSON usando la función PHP json_encode() :

 $trainers_meta = json_encode($trainers_meta);

La conversión se realizó sin advertencias ni errores que verifiqué específicamente. En la parte superior de mi archivo index.php necesito el archivo trainers.inc.php :

 require_once('trainers.inc.php');

En la parte inferior del archivo, creo una variable de JavaScript con los contenidos JSON convertidos dentro de una etiqueta <script> :

 <script> let trainersMeta = <?php echo $trainers_meta;?>; </script>

En la parte inferior del archivo, enlazo el CDN de Vue.js:

 <script src="https://cdn.jsdelivr.net/npm/vue@3.2.26"></script>

Arriba, en el archivo index.php , trato de repetir el código HTML usando el atributo v-for de Vue.js:

 <div class="container" v-for="trainer in trainersMeta"> <h1>Should appear on the page</h1> </div>

Pero nunca aparece ningún contenido. Mi IDE me advierte que la variable trainersMeta no está definida. Entiendo que Vue.js debe ver la variable antes de que se cargue, por eso la inicializo antes de importar su CDN. Además, no importa en qué archivo o posición coloque la etiqueta <script> en la variable, siempre está indefinida. No puedo simplemente inicializar la variable dentro del código Vue.js porque Vue.js es completamente incompatible con PHP en este sentido. Incluso poner todo el código de Vue.js dentro de una etiqueta <script> en index.php no funciona y el código de Vue.js simplemente nunca se compila debido a eso. ¿Cómo puedo pasar una variable codificada PHP JSON a Vue.js para que la vea/utilice?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Por lo que vale, nunca he usado Vue.js antes de hoy. Todo lo que he recopilado, lo recogí en unos 5 minutos de la documentación .

Tienes:

  • creó una variable ( trainersMeta )
  • creó una plantilla ( <div class="container" )
  • cargó la biblioteca Vue ( <script ).

no has :

  • escribió una aplicación Vue para usar esos datos

Debe crear un objeto que tenga un método de datos que devuelva el objeto que ha creado, y debe llamar a Vue.createApp con ese objeto y luego montarlo en un contenedor alrededor de su plantilla.

Tal:

 <script> let trainersMeta = { Id: 123, Name: 'Bob' }; </script> <div id="app"> <div class="container" v-for="trainer in trainersMeta"> <h1>Should appear on the page</h1> {{trainer}} </div> </div> <script src="https://cdn.jsdelivr.net/npm/vue@3.2.26"></script> <script> const Trainers = { data() { return { trainersMeta } } } Vue.createApp(Trainers).mount('#app') </script>

over 4 years ago · Santiago Trujillo 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