En mi aplicación vue , necesito hacer un <nuxt-img /> en el que se pueda hacer clic, así que traté de hacer esto:
<nuxt-img :src="image.src" @click="isClickable ? doSomeStuff : null" />pero por alguna razón que no sé, esto no funciona, no sucede nada al hacer clic.
¿Alguien puede decirme qué estoy haciendo mal?
Intenta agregar el modificador native :
@click.native="isClickable ? doSomeStuff : null"Pasaría una función allí, como alguien ya sugirió en los comentarios:
@click="() => isClickable ? doSomeStuff : null"pero sería mejor encerrar la lógica en un método y llamar al método @click="handleClick"
... methods: { handleClick(){ if(this.isClickable){ this.doSomeStuff() } }<nuxt-img :src="image.src" @click="isClickable ? doSomeStuff : null" />doSomeStuff tiene que ser definido como una función para ser llamado así
De lo contrario, deberías llamarlo con un golpe
Por ejemplo:
<nuxt-img :src="image.src" @click="isClickable ? () => doSomeStuff : null" />Aún así, le daría un valor indefinido al evento @onclick en lugar de un valor nulo
<nuxt-img :src="image.src" @click="isClickable ? () => doSomeStuff : undefined" />