Как из директивы вызвать метод инстанса, не обращаясь к нему по имени (app_ctrl.updateVal())? Через this нельзя, потому что this указывает на input.
Я хочу привязать эту директиву к разным инстансам, не хочется дублировать.
Вот урезанный код:
Vue.directive('picker', {
inserted: function (el, binding) {
$.mask.definitions['H']='[0-9]';
$(el).mask("HH:HH", {
completed: function(){
// Метод который хочу вызвать
this.updateVal(binding.value['i'], binding.value['day'], this.val())
}
});
}
});
app_ctrl = new Vue({
delimiters: ['{*', '*}'],
el: '#controlapp',
data: {
data: [],
obj_name: '',
},
methods:{
// Метод который хочу вызвать
updateVal : function (i, day, time) {
console.log(i, day, time);
this.data[i][day] = time;
},
}
});
<table>
<tbody v-cloak>
<tr v-for="(row, i) in data" class="row body">
<td v-bind:disabled="!row.mon_from">
<input type="text" v-model="row.mon_from" v-picker="{i: i, day: 'mon_from'}">
</td>
</tr>
</tbody>
</table>