Каюсь, сдался, попробую здесь найти совет.
Переписываю с php на vue формы старого сайта. Модуль "график работы".
<div v-for="(city,index) in cities">
<schedule
:item="city"
@form-saved="saveData">
</schedule>
</div>
в самой форме начинается мой треш( привычка работы с php и массивами.. в старой форме было так.
<?php foreach ($data['days'] as $key=>$day): ?>
<label> <?php echo $day['rus']; ?>
</label>
<input type="text" name="<?php echo $day['eng'];?>[open]" value="" class="time_input">---
<input type="text" name="<?php echo $day['eng'];?>[close]" value="" class="time_input"><span class="extra">примечание</span>
<input type="text" name="<?php echo $day['eng'];?>[extra]" value=""><?php endforeach; ?>
и потом я это все через jquery сериализировал вроде бы.
Сейчас пытаюсь и так и эдак сформировать более-менее требуемый массив, но никак не получается привязать три поля ко дню недели и далее к городу.
<div v-for="(day,index) in days" :key="day.engname">
<label class="block bg-academy text-white"> {{day.rus}} </label>
<input type="text" v-model="city.open[index]" class="time_input">---
<input type="text" v-model="city.close[index]" class="time_input"><span class="extra">примечание</span>
<input type="text" v-model="city.extra[index]" >
</div>
v-model="city.close[index]" я уже и через дни привязывать пытался. И так и эдак, но уже просто не соображаю видимо(
city:{
id:this.item.id,
open:[], //вот как сюда прикрутить дни недели?(
close:[],
extra:[]
},
days:[
{rus:'Понедельник',
engname:'monday',
open:'', // это я привязывал к дням через v-model="days[index].open" но сюда никак город
close:'',
extra:''
},
{rus:'Вторник',
engname:'tuesday',
open:'',
close:'',
extra:''
}
],
Сейчас на выходе такие данные получаю из формы.
"id": 1,
"open": [
"12-00", //это время понедельника
"12-30" //это время вторника
],
"close": [
"21-30",
"22-00"
],
а хотелось бы
id:1
monday: {
open: ...,
close:...,
}.
Никак я эти сложные формы не освою( посоветуйте, пожалуйста.