I have trainers.inc.php file which generates array with data retreived from a database :
$trainers_meta[0] = array('Id' => $id, 'Name' => $name, 'Description' => $description, 'Experience' => $experience, 'Focus' => $focus, 'Fileformat' => $format, 'File' => $file);
I encoded the PHP array as JSON using the PHP json_encode() function :
$trainers_meta = json_encode($trainers_meta);
The conversion went without any warnings or errors for which I specifically checked. At the top of my index.php file I require the trainers.inc.php file :
require_once('trainers.inc.php');
At the bottom of the file I create a JavaScript variable with the converted JSON contents inside of a <script> tag :
<script>
let trainersMeta = <?php echo $trainers_meta;?>;
</script>
At the bottom of the file I link to the Vue.js CDN :
<script src="https://cdn.jsdelivr.net/npm/[email protected]"></script>
Above in the index.php file I try to echo out HTML code using the v-for attribute of Vue.js :
<div class="container" v-for="trainer in trainersMeta">
<h1>Should appear on the page</h1>
</div>
But no content ever appears. My IDE tells me a warning that the trainersMeta variable is undefined. I get that Vue.js must see the variable before it's loaded which is why I initialize it before actually importing it's CDN. Besides it doesn't matter what file or position do I put the <script> tag at the variable is always undefined. I cannot simply initialize the variable inside of the Vue.js code because Vue.js is completely incompatible with PHP in this regard. Even putting all the Vue.js code inside of a <script> tag in index.php doesn't work and Vue.js code simply never compiles at all because of it. How can I pass a PHP JSON encoded variable to Vue.js for it to see/use it?