Как выполнить несколько событий по щелчку мыши?

#vue.js #vuetify.js

Вопрос:

Я хочу нажать кнопку и выполнить эти 2 выражения.

Но мне нужно нажать на него дважды, чтобы выполнить оба:

1.) данные = истина и 2.) имя(данные). Почему он не может выполняться по щелчку мыши?

 lt;button @click="data = true,name(data)"gt;  

Ответ №1:

@AlexHunter, вероятно, лучше всего извлечь эту логику из функции обработчика. Что — то вроде приведенного ниже.

 lt;button @click="handleClick"gt;click melt;/buttongt;  ..... // in your methods section methods: {  handleClick() {  this.data = true  this.name(data)  } }  

если data есть что-то, к чему вы обращаетесь изнутри v-if , вы можете вместо этого передать это обработчику, как показано ниже,

 lt;button @click="handleClick(data)"gt;click melt;/buttongt;  ..... // in your methods section methods: {  handleClick(data) {  // if data is false, return and don't call this.name()  if (!this.data) return   this.name(data)  } }  

Не видя больше вашего кода, я не уверен, каков ваш точный вариант использования, хотя я чувствую, что вы, возможно, могли бы упростить вышесказанное еще больше.

Ответ №2:

Добавление точки с запятой должно выполнять оба выражения по щелчку мыши.

 lt;button @click="data = true; name(data)"gt;click melt;/buttongt;  

Комментарии:

1. пробовал, мне приходится нажимать дважды

2. Вам следует поделиться большей частью своего кода. Я не знаю, что data и name означает в вашем обработчике.

3. data = true прикрепляется к v-if в div, если нажать «Показать div» и передать данные в функцию

4. Где указаны ваши данные и имя?