Vuejs2 Vue 2自定义指令中使用的模型访问v-for 问题:

Vuejs2 Vue 2自定义指令中使用的模型访问v-for 问题:,vuejs2,Vuejs2,如何更新Vue 2自定义指令中使用的模型数据 设置: ... 假设我有一个带钩子的指令,如下所示: Vue.directive('chosenjs'{ 插入:函数(el、绑定、vnode){ //在这里,我使用jQuery选择库设置回调,但这可以是任何回调。 jQuery(el).selected().change(函数(事件,更改){ //代码在这里。。。 }); } }); 在code HERE…部分中,如果binding.value是指针(数组/对象),则这是直接的。例如,对于

如何更新Vue 2自定义指令中使用的模型数据

设置:

  • ...
假设我有一个带钩子的指令,如下所示:

Vue.directive('chosenjs'{
插入:函数(el、绑定、vnode){
//在这里,我使用jQuery选择库设置回调,但这可以是任何回调。
jQuery(el).selected().change(函数(事件,更改){
//代码在这里。。。
});
}
});
code HERE…
部分中,如果
binding.value
是指针(数组/对象),则这是直接的。例如,对于一个数组,我会进行绑定.value.push(someValue),Vue的observable将处理它。但是如果该值是一个原语,那么可以做什么呢

如果指令未在
v-for
循环中使用,则可以使用
vnode
修改组件中的数据。正如我所展示的,它工作得很好

但是如果它是一个v-for,那么似乎没有办法。即使可以访问
binding.expression
,也无法获取v-for项

背景
我正在尝试使用Vue和ChosenJS jQuery库。我已经了解了大部分方法,但是当指令在
v-for
循环中使用时,会出现一个错误。

您是否嫁给了指令?在大多数情况下,我建议VUE2中的jQuery插件使用组件而不是指令。使用指令是非常Vue 1的。@BertEvans不,没有结婚。因为我链接了stackoverflow的答案,所以我选择了指令。我希望保持标记类似于我的客户机在没有Vue的情况下使用ChosenJS的方式,但是这个客户机是技术性的,可以处理。我之前为Selected编写了一个小组件。我显然也更新了一条指令,虽然我不记得了,我也不知道它是否和你上面提到的问题一样。@Bert事实证明,我认为我应该为这个问题结婚。我认为使用组件的方法可能是正确的,我将很快对此进行探讨。如果我使用组件,我可以向上投票你链接的另一个答案。但我认为这个问题是单独有用的,因为它对指令有明确的要求。你嫁给指令了吗?在大多数情况下,我建议VUE2中的jQuery插件使用组件而不是指令。使用指令是非常Vue 1的。@BertEvans不,没有结婚。因为我链接了stackoverflow的答案,所以我选择了指令。我希望保持标记类似于我的客户机在没有Vue的情况下使用ChosenJS的方式,但是这个客户机是技术性的,可以处理。我之前为Selected编写了一个小组件。我显然也更新了一条指令,虽然我不记得了,我也不知道它是否和你上面提到的问题一样。@Bert事实证明,我认为我应该为这个问题结婚。我认为使用组件的方法可能是正确的,我将很快对此进行探讨。如果我使用组件,我可以向上投票你链接的另一个答案。但我认为这个问题是单独有用的,因为它明确要求一个指令。