Javascript 为什么Vue.js落后一个刻度?为什么我需要jQuery来获取当前值
我有一个select元素Javascript 为什么Vue.js落后一个刻度?为什么我需要jQuery来获取当前值,javascript,jquery,vue.js,Javascript,Jquery,Vue.js,我有一个select元素 <select id="filter" v-model="filter" @change="changeFilter"> <option value="all">All</option> <option value="one">One</option> <option value="two">Two</option> <option value="three">Thr
<select id="filter" v-model="filter" @change="changeFilter">
<option value="all">All</option>
<option value="one">One</option>
<option value="two">Two</option>
<option value="three">Three</option>
</select>
}
为什么我必须使用Jquery来获取这个元素的最新值?
我以为Vue.js应该是反应型的?为什么它落后一个刻度呢??为什么我必须使用jQuery来获取当前选择的内容?这样做似乎非常违反直觉?您的错误是执行双向绑定加上事件。该事件与模型更新同时触发,因此更改尚未发布 你最好在这里用手表 首先,删除事件:
<select id="filter" v-model="filter">
<option value="all">All</option>
<option value="one">One</option>
<option value="two">Two</option>
<option value="three">Three</option>
</select>
此处的更多信息:您的错误是执行双向绑定加上事件。该事件与模型更新同时触发,因此更改尚未发布 你最好在这里用手表 首先,删除事件:
<select id="filter" v-model="filter">
<option value="all">All</option>
<option value="one">One</option>
<option value="two">Two</option>
<option value="three">Three</option>
</select>
更多信息请点击此处:
我只是在复制你的代码,但它完全可以正常工作
检查以下代码:
newvue({
el:“应用程序”,
数据:{
过滤器:“全部”
},
方法:{
changeFilter:function(){
警报(此.filter)
}
}
})
全部的
一个
两个
三
我只是在复制你的代码,但它完全可以正常工作
检查以下代码:
newvue({
el:“应用程序”,
数据:{
过滤器:“全部”
},
方法:{
changeFilter:function(){
警报(此.filter)
}
}
})
全部的
一个
两个
三
希望这是有意义的。希望这是有意义的。他们在这里有一个很好的解释:如果有理由需要在处理程序中使用Vue.nextTick()
而不仅仅是对数据更改做出反应,那么可以使用Vue.nextTick()
如果有理由,您需要在处理程序中执行此操作,而不仅仅是对数据更改做出反应。
watch: {
filter: function (val) {
// use val here
}
}