假如我拿 elementui 中最简单的 input 组件作为示例
<el-input v-model="input" placeholder="请输入内容"></el-input>
<script>
export default {
data() {
return {
input: ''
}
}
}
</script>
此时我想监听 input 的值,input 标签的 change 方法和 vue 的 watch 都能监听到,那那个会更常用呢? 哪个会性能更好捏?有什么检测这个的方法吗?
1
asiasky 2020-11-23 16:06:22 +08:00
性能应该是 watch 会更好一下吧也更常用一些,本来 vue 就帮你监听了没必要在重复声明,感觉有些过于吹毛求疵了,其实没有那么明显的性能优化...
|
2
johnkiller 2020-11-23 16:10:40 +08:00
@change 是原生 DOM 的回调事件,watch 是 Vue 中监听变量改变。主要还是看你自己的使用场景。
|
3
zidian 2020-11-23 16:13:00 +08:00
有时用法不一样啊。this.input = xxx 的时候 watch 也会被调用,change 只有表单输入才被调用。
|
4
wunonglin 2020-11-23 16:15:30 +08:00
|
5
marcong95 2020-11-23 16:17:04 +08:00
|
6
wunonglin 2020-11-23 16:17:59 +08:00
复杂的话还是建议 watch,毕竟这是 vue 的方法,简单的话用 get/set 就行了,这是 js 的方法
|