Сделал. Мне не очень нравится как, но работает. У timepicker есть метод onClose, который вызывается при закрытии модального окна таймпикера. На это метод я навесил функцию, обновляющую конкретную запись в data. Другого способа не нашел.
Было бы замечательно, если можно было бы изменить значение элемента массива data, обратившись к id элемента, связанного с ним через v-model.
directives: {
picker: {
inserted: function (el, binding) {
$(el).timepicker({
'timeFormat': 'HH:mm',
'stepMinute': 5,
onClose: function(dateText) {
app.updateVal(binding.value['i'], binding.value['day'], dateText)
}
});
}
}
},
methods:{
updateVal : function (i, day, time) {
this.data[i][day] = time;
},
}
Шаблон приводить целиком не стану. Вот его часть:
<input type="text" v-model="row.mon_from" v-picker="{i: i, day: 'mon_from'}">
i, day - параметры передаваемые директиве.
i - номер итерации из цикла, в который завернут инпут.