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

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

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 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!