Vue 无法监听到(非手动输入的)文本框 input或change事件
用watch 监听数据变化触发 change事件 immediate: true 就ok了
还是按你得来吧!
<div id="demo">
<input type="text" v-model="txt">
<button @click="updateTxt">更新</button>
</div>
new Vue({
el: '#demo',
methods: {
updateTxt: function (message) {
this.txt = 'zy'
}
},
watch: {
txt:{
handler(){
console.log(this.txt)
},
immediate:true
}
}
})
10 回答11.1k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
2 回答4.7k 阅读✓ 已解决
不是vue监听不到,而是本来就不会触发change事件,如果你是直接改input的value的话。
如果非要监听,可以用MutationObserver试一下。
另一种办法是找到触发value改动的代码,然后对它进行代理。