Manipulação de eventos em Vue.js: sintaxe e exemplos

A manipulação de eventos é uma parte importante da interação com os usuários e da alteração do estado de um aplicativo no Vue.js. O Vue.js fornece várias maneiras de lidar com eventos, incluindo manipuladores de eventos inline, métodos e modificadores de eventos.

Aqui estão alguns eventos comuns no Vue.js

1. click evento

Este evento é acionado quando um elemento clicável, como um botão ou um link, é clicado. É comumente usado para executar ações ou acionar funções quando um usuário interage com o elemento.

<button v-on:click="handleClick">Click me</button>
methods: {  
  handleClick() {  
    console.log('Button clicked!');  
  }  
}

 

2. input evento

Este evento é acionado quando o valor de um input elemento muda. É comumente usado com a v-model diretiva para vincular o input valor a uma propriedade de dados no componente do Vue. Isso permite que você atualize e rastreie de forma reativa as alterações no input valor.

<input v-model="message" v-on:input="handleInput" />
data() {  
  return {  
    message: ''  
  };  
},  
methods: {  
  handleInput() {  
    console.log('Input value:', this.message);  
  }  
}

 

3. change evento

Este evento é acionado quando o valor de um elemento de formulário, como um menu suspenso de seleção ou caixa de seleção, é alterado. É comumente usado para executar ações ou atualizar dados com base na opção selecionada ou no estado verificado do elemento.

<select v-model="selectedOption" v-on:change="handleSelectChange">  
  <option value="option1">Option 1</option>  
  <option value="option2">Option 2</option>  
</select>
data() {  
  return {  
    selectedOption: ''  
  };  
},  
methods: {  
  handleSelectChange() {  
    console.log('Selected option:', this.selectedOption);  
  }  
}

 

4. submit evento

Este evento é acionado quando um formulário é enviado, seja clicando em um submit botão ou pressionando Enter dentro de um input campo. É comumente usado para lidar com envios de formulários, validar user input e executar ações como fazer solicitações de API ou salvar dados.

<form v-on:submit="handleSubmit">  
  <input type="text" v-model="name" />  
  <button type="submit">Submit</button>  
</form>
data() {  
  return {  
    name: ''  
  };  
},  
methods: {  
  handleSubmit(event) {  
    event.preventDefault();  
    console.log('Form submitted! Name:', this.name);  
  }  
}

 

5. keyup evento

Este evento é acionado quando uma tecla é liberada após ser pressionada. É comumente usado para executar ações em resposta ao teclado input, como filtrar uma lista de itens ou acionar uma funcionalidade de pesquisa.

<input v-model="message" v-on:keyup="handleKeyUp" />
data() {  
  return {  
    message: ''  
  };  
},  
methods: {  
  handleKeyUp() {  
    console.log('Key up event triggered!');  
  }  
}

 

6. keydown evento

Este evento é acionado quando uma tecla é pressionada. É comumente usado para ouvir combinações de teclas específicas ou executar ações enquanto uma tecla é pressionada, como navegar por uma apresentação de slides ou controlar um jogo.

<input v-model="message" v-on:keydown="handleKeyDown" />
data() {  
  return {  
    message: ''  
  };  
},  
methods: {  
  handleKeyDown() {  
    console.log('Key down event triggered!');  
  }  
}

 

7. mouseover evento

Este evento é acionado quando o ponteiro do mouse é movido sobre um elemento. É comumente usado para mostrar informações adicionais ou fornecer feedback visual ao passar o mouse sobre um elemento.

<div v-on:mouseover="handleMouseOver">Hover over me</div>
methods: {  
  handleMouseOver() {  
    console.log('Mouse over event triggered!');  
  }  
}

 

8. mouseout evento

Este evento é acionado quando o ponteiro do mouse é movido para fora de um elemento. É comumente usado para ocultar ou modificar elementos quando o mouse não está mais sobre eles.

<div v-on:mouseout="handleMouseOut">Move mouse out</div>
methods: {  
  handleMouseOut() {  
    console.log('Mouse out event triggered!');  
  }  
}

 

9. scroll evento

Este evento é acionado quando um elemento é rolado. É comumente usado para implementar recursos como rolagem infinita, carregamento lento de conteúdo ou atualização de elementos da interface do usuário com base na scroll posição.

<div v-on:scroll="handleScroll">Scroll me</div>
methods: {  
  handleScroll() {  
    console.log('Scroll event triggered!');  
  }  
}

 

10. focus evento

Este evento é acionado quando um elemento recebe focus, normalmente quando é clicado ou quando o usuário navega até ele usando o teclado. É comumente usado para executar ações ou fornecer feedback visual quando um input elemento ou ganha focus.

<input v-on:focus="handleFocus" />
methods: {  
  handleFocus() {  
    console.log('Input focused!');  
  }  
}

 

Estes são apenas alguns exemplos básicos de eventos no Vue.js. Você pode personalizar as funções de gerenciamento de eventos para atender às necessidades específicas do seu projeto.