Javascript 如何使用Vue指令防止链接或按钮中的单击事件
您好,我正在使用vue指令,如果元素是Javascript 如何使用Vue指令防止链接或按钮中的单击事件,javascript,html,vue.js,vuejs2,vue-component,Javascript,Html,Vue.js,Vuejs2,Vue Component,您好,我正在使用vue指令,如果元素是或标记,我将尝试阻止单击事件。所以我的问题是,这是否可以使用vue指令实现 Html <a @click.stop.prevent="displayModal()" v-noclick="test"> I'm a link </a> Vue先注册@click事件,然后再注册v-noclick,在该元素上添加第二个单击事件侦听器。单击时,将首先执行displaymodel()函数,然后执行v-noclick指
或
标记,我将尝试阻止单击事件。所以我的问题是,这是否可以使用vue指令实现
Html
<a
@click.stop.prevent="displayModal()"
v-noclick="test">
I'm a link
</a>
Vue先注册
@click
事件,然后再注册v-noclick
,在该元素上添加第二个单击事件侦听器。单击
时,将首先执行displaymodel()
函数,然后执行v-noclick
指令中的侦听器。如果侦听器按相反的顺序注册,那么它可能会工作
尽管如此,看起来您试图做的事情不应该在自定义指令中完成。相反,您可以在单击处理程序本身中执行相同的逻辑:
Foo
onClick(){
如果(无论什么){
this.displaymodel()
}
}
Vue在v-noclick
之前先注册@click
事件,在该元素上添加第二个click事件侦听器。单击
时,将首先执行displaymodel()
函数,然后执行v-noclick
指令中的侦听器。如果侦听器按相反的顺序注册,那么它可能会工作
尽管如此,看起来您试图做的事情不应该在自定义指令中完成。相反,您可以在单击处理程序本身中执行相同的逻辑:
Foo
onClick(){
如果(无论什么){
this.displaymodel()
}
}
我找不到一种vue方法来实现这一点。但是对于js,您可以像这样使用条件序列
<a @click="cond && onClick"></a>
在这种情况下,如果cond等于true,那么onClick将被调用我找不到一种vue方法来执行此操作。但是对于js,您可以像这样使用条件序列
<a @click="cond && onClick"></a>
在这种情况下,如果cond等于true,那么将调用onClick