我自定义了一个指令,用来给输入框绑定一个 input 事件,获取输入框的 value 的长度,在 update 钩子中用 console.log 输出了一些字符。我给页面上多个输入框使用了这个自定义指令后,任何一个输入框触发input事件,所有的指令都会在控制台输出,并不是仅仅只有触发 input 事件的那个输入框。
请教这是什么原因呢?
//......
bind: function (el) {
//......
el.addEventListener('input', ...)
},
update: function(el) {
console.log(el);
}
<el-input v-mydirective />
<el-input v-mydirective />
<el-input v-mydirective />
你是不是有修改data?修改data触发rerender,从而触发指令update hook被调用