jQuery动态改变Input/Textarea值Vuejs数据没有绑定的解决办法

via: Vue2与jQuery混用如何共享数据?

使用At.js遇到的问题

作者解释如下:

The reasoning has been explained in the issue linked above - Vue only picks up native events, your plugin is probably firing jQuery-only events. You can simply relay the events manually.

大概的意思是Vue只监听浏览器原生事件,而jQuery改变输入框的值属于jQuery定义的事件,这个Vue是无法监听到的。

我们可以主动通知浏览器进行事件分发,让Vue监听到,做法如下:

el.dispatchEvent(new Event('input'));

如果 v-model 有 lazy 修饰符的话,则通过如下调用:

el.dispatchEvent(new Event('change'));

搞定!

你可能感兴趣的:(jQuery动态改变Input/Textarea值Vuejs数据没有绑定的解决办法)