我想绑定一个条件事件,仅在用户输入特定键时才触发它,例如
1)当标签的值等于标签时,我想绑定事件
<input type="text" v-on="{ keyup: (label == 'Tags') ? $event => onTagAdd($event, index) : {} }" v-model="value">
onTagAdd: function (oEvent, index){
if(oEvent.key === ";"){
//some code
}
}
它按预期工作。
2)此外,我只想在;时触发事件。 (virtual key code = 186),因此我尝试了以下代码
<input type="text" v-on="{ 'keyup.186': (label == 'Tags') ? $event => onTagAdd($event, index) : {} }" v-model="value">
它不起作用。我已经介绍过vue.js documentation,但是还没有任何解决方法。
该怎么做?
注意:我已经消除了这种方法,因为它给我$ event的IE错误。仍在寻找能够解决问题并支持浏览器兼容性的解决方案。
答案 0 :(得分:0)
尝试一下,告诉我是否可行。
<input type="text" v-on:keyup.186="{ (label == 'Tags') ? $event => onTagAdd($event, index) : {} }" v-model="value">
答案 1 :(得分:0)
也许内联样式不支持事件类型中的键码(不确定),请尝试以下方法:
<input type="text" v-on:keyup.186="onTagAdd($event,2)" v-model="value">
methods: {
onTagAdd(event,index){
// put your logic codes here
console.info('==')
console.info(event)
console.info(index)
}
}