vue如何给<nuxt-img>添加点击事件
Vue how to add click event to <nuxt-img>
在我的 vue
-app 中,我需要制作一个 <nuxt-img />
- 可点击的,所以我尝试这样做:
<nuxt-img :src="image.src" @click="isClickable ? doSomeStuff : null" />
但出于某种我不知道的原因,这不起作用 - 点击时没有任何反应。
谁能告诉我哪里做错了?
尝试添加 native
修饰符:
@click.native="isClickable ? doSomeStuff : null"
我会在那里传递一个函数,就像评论中已经有人建议的那样:
@click="() => isClickable ? doSomeStuff : null"
但更好的方法是将逻辑包含在一个方法中并调用该方法
@click="handleClick"
...
methods: {
handleClick(){
if(this.isClickable){ this.doSomeStuff() }
}
<nuxt-img :src="image.src" @click="isClickable ? doSomeStuff : null" />
doSomeStuff 必须定义为一个函数才能被调用
否则你应该用 thunk
来调用它
例如:
<nuxt-img :src="image.src" @click="isClickable ? () => doSomeStuff : null" />
我仍然会给@onclick 事件一个未定义的值而不是一个空值
<nuxt-img :src="image.src" @click="isClickable ? () => doSomeStuff : undefined" />
在我的 vue
-app 中,我需要制作一个 <nuxt-img />
- 可点击的,所以我尝试这样做:
<nuxt-img :src="image.src" @click="isClickable ? doSomeStuff : null" />
但出于某种我不知道的原因,这不起作用 - 点击时没有任何反应。
谁能告诉我哪里做错了?
尝试添加 native
修饰符:
@click.native="isClickable ? doSomeStuff : null"
我会在那里传递一个函数,就像评论中已经有人建议的那样:
@click="() => isClickable ? doSomeStuff : null"
但更好的方法是将逻辑包含在一个方法中并调用该方法 @click="handleClick"
...
methods: {
handleClick(){
if(this.isClickable){ this.doSomeStuff() }
}
<nuxt-img :src="image.src" @click="isClickable ? doSomeStuff : null" />
doSomeStuff 必须定义为一个函数才能被调用
否则你应该用 thunk
来调用它例如:
<nuxt-img :src="image.src" @click="isClickable ? () => doSomeStuff : null" />
我仍然会给@onclick 事件一个未定义的值而不是一个空值
<nuxt-img :src="image.src" @click="isClickable ? () => doSomeStuff : undefined" />