Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Gestire gli eventi di base

Gestire gli eventi sfruttando il framework offerto da Vue.js: ecco come fare, e in che modo utilizzare i relativi modificatori.
Gestire gli eventi sfruttando il framework offerto da Vue.js: ecco come fare, e in che modo utilizzare i relativi modificatori.
Link copiato negli appunti

Per associare un particolare comportamento ad un evento nativo del browser, usiamo la direttiva v-on o l'alias @ come abbiamo già visto nella quarta lezione di questa guida dedicato alle direttive. Guardiamo subito un esempio:

<button v-on:click="onClickButton">Click<button>

...
methods: {
  onClickButton: function() {
    alert('Button clicked!");
  }
}
...

In questo caso abbiamo assegnato alla direttiva v-on:click il nome di un metodo definito all'interno dell'oggetto Vue. Oltre a questa modalità possiamo anche scrivere codice Javascript inline all'interno dell'attributo:

<button @click="alert('Button clicked!')">Click<button>

In linea generale la prima modalità, ove possibile, è sempre da preferire alla seconda, in modo da suddividere in maniera più corretta i diversi compiti all'interno dell'applicazione web: layer presentazionale per l'HTML e layer di business per il Javascript.

Modificatori

Una delle principali comodità offerte dal framework in merito agli eventi sono i modificatori. Essi permettono di aggiungere dei comportamenti standard in maniera dichiarativa nel momento stesso in cui avviene l'associazione tra evento e la funzione callback, anche sfruttando la concatenazione di essi. I modificatori disponibili sono:

  • .stop: blocca la propagazione dell'evento all'interno della catena di bubbling;
  • .prevent: previene il comportamento standard dell'elemento HTML (utile in caso di ancore o form);
  • .capture: permette di invocare l'evento prima sull'elemento padre e solo successivamente su elementi figli;
  • .self: permette di invocare l'evento solamente se il nodo corrente è il target (evita eventuali invocazioni nel caso l'evento scatti per esempio su elementi figli);
  • .once: invoca la callback solamente una volta, rimuovendo il listener dopo la prima volta.

Ecco alcuni esempi:

<a href="#" @click.prevent="onClick">an anchor</a>

<div @click.self="onParent">
<a href="#" @click.prevent="onAnchor">anchor...</a>
</div>

Oltre a questi modificatori standard, esistono anche modificatori dedicati ai tasti della tastiera, da utilizzare insieme ad eventi keyboard-based come ad esempio keyup o keydown. Il loro funzionamento è similare ai modificatori precedenti:

<input @keyup.enter="submit">

I modificatori dedicati agli eventi basati sulla tastiera sono: .enter, .tab, .delete, .esc, .space, <code>.up, .down, .left, .right, .ctrl, code>.alt, .shift e .meta.

Sono disponibili anche modificatori speculari, ma basati sugli eventi del mouse: .left, .right e .middle.

Ti consigliamo anche