Я использую symfony5 и хотел бы интегрировать vue.js в один из моих шаблонов веток. Мне нужно иметь возможность передавать 3 разных объекта в vue.js. Мне нужно передать несколько массивов, которые обычно хранят несколько объектов, в компонент vue, поэтому после установки vue.js я сделал следующее.
Как мне получить доступ к группам в компоненте vue, и правильно ли я делаю это, вводя массив в свой компонент? мне нужно использовать $jsonContent = $serializer-›serialize($groups, 'json') в контроллере или я могу оставить массив как есть?
// активы/js/app.js
import Vue from 'vue';
import Example from './components/Example'
new Vue({
el: '#app',
components: {Example}
});
// активы/js/components/Example.vue
<template>
<div>
<h2 class="center">My Application</h2>
<div v-text="message"></div>
<pre>{{ groups }}</pre>
<ul>
<li :key="group.id" v-for="group in groups">{{ group }}</li>
</ul>
</div>
<script>
export default {
data() {
return {
message: "A list of groups",
groups: [],
};
},
mounted() {
this.groups = this.$el.attributes['groups'].value;
console.log(this.groups);
}
};
</script>
<style>
.center {
text-align: center;
}
</style>
в моем представлении ветки у меня есть следующее
<div ref="groups" v-bind:groups="{{ groups2|json_encode }}"></div>
<div id="app">
<example></example>
</div>
группы обычно выглядят так:
array:5 [▼
0 => App\Document\Group {#630 ▶}
1 => App\Document\Group {#627 ▶}
2 => App\Document\Group {#638 ▶}
3 => App\Document\Group {#641 ▶}
4 => App\Document\Group {#644 ▶}
]
so I used a serializer in the controller
'groups2' => $jsonContent = $serializer->serialize($groups, 'json'),