我目前遇到一些麻烦,了解VueJS' v模型反应性起作用。
我有一个select插件可以帮助我设置选择字段的样式,但它当然通过JS更改select字段值,问题是它永远不会触发v-model来更新它的值,如果我尝试{同样的话} {1}},如果我这样做,v-model就不会更新,它只会在我直接在字段中输入或单击真实选择字段时更新。
正如我读过的那样,似乎Vue只会监听document.getElementById('field').value = 'whatever'
事件以触发其反应性,而当我只是用JS更改字段的值时,事件将不会被触发,尽管不更新变量的值。
我真的需要更深入地理解这一点,并在接下来发生时有最好的方法来处理这类问题。在这种情况下,如果我无法控制插件的事件,最佳解决方案是什么?如果动态更改值并且再也不会出现此问题,我怎么能让Vue听?
感谢您的帮助!
答案 0 :(得分:1)
我不完全确定这是否会有所帮助,但您是否看过表单输入组件? https://vuejs.org/v2/guide/components.html#Form-Input-Components-using-Custom-Events
您的输入组件必须将事件发回外部,以使其更新与组件关联的v-model
值。
如果您在确定输入值是否已更改时遇到问题,您可能还需要检查watchers
https://vuejs.org/v2/guide/computed.html#Computed-vs-Watched-Property
我希望这有帮助。