Händelsehantering i Vue.js: Syntax och exempel

Hantering av händelser är en viktig del av att interagera med användare och ändra tillståndet för en applikation i Vue.js. Vue.js tillhandahåller olika sätt att hantera händelser, inklusive inline-händelsehanterare, metoder och händelsemodifierare.

Här är några vanliga händelser i Vue.js

1. click händelse

Denna händelse utlöses när ett klickbart element, som en knapp eller en länk, klickas. Det används vanligtvis för att utföra åtgärder eller trigga funktioner när en användare interagerar med elementet.

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

 

2. input händelse

Denna händelse utlöses när värdet på ett input element ändras. Det används ofta med v-model direktivet för att binda input värdet till en dataegenskap i Vues komponent. Detta gör att du reaktivt kan uppdatera och spåra ändringar av input värdet.

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

 

3. change händelse

Den här händelsen utlöses när värdet på ett formulärelement, till exempel en rullgardinsmeny eller kryssruta för val, ändras. Det används vanligtvis för att utföra åtgärder eller uppdatera data baserat på det valda alternativet eller kontrollerat tillstånd för elementet.

<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 händelse

Denna händelse utlöses när ett formulär skickas, antingen genom att klicka på en submit knapp eller genom att trycka på Enter i ett input fält. Det används vanligtvis för att hantera formulärinlämningar, validera användare input och utföra åtgärder som att göra API-förfrågningar eller spara data.

<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 händelse

Denna händelse utlöses när en tangent släpps efter att ha tryckts ned. Det används vanligtvis för att utföra åtgärder som svar på tangentbordet, input som att filtrera en lista med objekt eller utlösa en sökfunktion.

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

 

6. keydown händelse

Denna händelse utlöses när en tangent trycks ned. Det används vanligtvis för att lyssna efter specifika tangentkombinationer eller utföra åtgärder medan en tangent hålls nedtryckt, som att navigera genom ett bildspel eller kontrollera ett spel.

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

 

7. mouseover händelse

Denna händelse utlöses när muspekaren flyttas över ett element. Det används vanligtvis för att visa ytterligare information eller ge visuell feedback när du håller muspekaren över ett element.

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

 

8. mouseout händelse

Denna händelse utlöses när muspekaren flyttas ut från ett element. Det används vanligtvis för att dölja eller ändra element när musen inte längre svävar över dem.

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

 

9. scroll händelse

Denna händelse utlöses när ett element rullas. Det används ofta för att implementera funktioner som oändlig rullning, lat inläsning av innehåll eller uppdatering av UI-element baserat på positionen scroll.

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

 

10. focus evenemang

Den här händelsen utlöses när ett element tar emot focus, vanligtvis när det klickas eller när användaren navigerar till det med tangentbordet. Det används vanligtvis för att utföra åtgärder eller ge visuell feedback när ett input eller element vinner focus.

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

 

Det här är bara några grundläggande exempel på händelser i Vue.js. Du kan anpassa händelsehanteringsfunktionerna så att de passar ditt projekts specifika behov.