Javascript 使用$index为v-for的自定义指令
我在v-for中有一个自定义指令。我需要将$index的值传递到custom指令中,以便能够将datepicker值保存在数组中(每个产品有一个日期)$不过,索引在数组中的值始终为undefinedJavascript 使用$index为v-for的自定义指令,javascript,vue.js,Javascript,Vue.js,我在v-for中有一个自定义指令。我需要将$index的值传递到custom指令中,以便能够将datepicker值保存在数组中(每个产品有一个日期)$不过,索引在数组中的值始终为undefined <tr v-for="result in results"> <td> <input v-model="shoppingCart[$index].productStartDate" type="text" v-datepicker
<tr v-for="result in results">
<td>
<input v-model="shoppingCart[$index].productStartDate" type="text" v-datepicker='shoppingCart[$index].productStartDate'>
</td>
我尝试使用this.arg将引用传递到$index,但找不到传递闭包以获取值的方法,但两者都不起作用,我一定是做错了什么?对于Vue.js 2.x,他们建议使用数据集传递值 因此,您可以在HTML元素中添加:data index=“index”,并在指令中获取它,如下所示:
Vue.directive('yourDirective'{
绑定:函数(el、绑定、vnode){
log('元素索引',el.dataset.index);
}
}
只是一个问题,为什么要在指令中使用引号和箭头?我第一次看到时,我认为指令的使用就像属性一样notation@YerkoPalma-谢谢你指出这一点,这是我将Laravel blade语法翻译成html时的一个错误。它现在已经修复,面临同样的问题……有人需要帮助吗?
Vue.directive('datepicker', {
bind: function () {
var vm = this.vm;
var key = this.expression;
$(this.el).datepicker({
onSelect: function (date) {
vm.$set(key, date);
}
});
},
update: function (val) {
$(this.el).datepicker('setDate', val);
}
});