Cum să gestionați evenimentele în Vue

Cum să gestionați evenimentele în Vue
Cititorii ca tine ajută la sprijinirea MUO. Când efectuați o achiziție folosind link-uri de pe site-ul nostru, este posibil să câștigăm un comision de afiliat. Citeşte mai mult.

Ascultarea evenimentelor utilizatorului este o parte integrantă a oricărei aplicații web receptive, iar aplicațiile Vue nu fac excepție. Vue este construit cu o modalitate simplă și eficientă de a gestiona evenimente cu directiva sa v-on.





Ce este Event Binding în Vue?

Legarea evenimentelor este o caracteristică Vue.js care vă permite să atașați un ascultător de evenimente la un Document Object Model (DOM) element. Când are loc un eveniment, ascultătorul evenimentului declanșează o acțiune sau un răspuns în aplicația ta Vue.





REALIZAREA VIDEOCLIPULUI ZILEI DEfilați PENTRU A CONTINUA CU CONȚINUT

Puteți obține legarea de evenimente în Vue cu v-on directivă. Această directivă permite aplicației dvs. să asculte evenimentele utilizatorului, cum ar fi evenimente de clic, introducere sau tastare.





Pentru a atașa un ascultător de evenimente la un element folosind v-on , adăugați numele evenimentului ca parametru la directivă:

 <html> 
<head>
  <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
</head>
<body>
  <div id="app">
    <button v-on:click="counter++">Click me</button>
    <p>{{ counter}}</p>
  </div>
  <script>
  const app = Vue.createApp({
    data() {
      return {
        text: 'Vue is awesome!',
        counter: 0
      }
    }
  })

  app.mount('#app')
  </script>
</body>
</html>

Blocul de cod de mai sus arată un exemplu de aplicație Vue care ascultă un clic eveniment. Blocul de cod folosește a buton pentru a incrementa tejghea valoare în proprietatea de date a instanței Vue cu unul.



Blocul de cod de mai sus leagă expresia JavaScript contor++ la buton clic eveniment cu v-on directivă. Vue folosește @ caracter ca stenografie în locul lui v-on directivă din cauza v-on utilizarea frecventă a lui:

 <button @click="counter++">Click me</button> 

Legarea evenimentelor în Vue nu se limitează la evenimentele de clic. Vue gestionează alte evenimente, cum ar fi evenimente de apăsare a tastelor, evenimente de trecere cu mouse-ul și multe altele.





Pentru a lega oricare dintre aceste evenimente de v-on directivă, înlocuiți clic eveniment cu numele evenimentului dorit:

 <button @keydown.enter="counter++">Click me</button> 

Codul de mai sus configurează un ascultător de evenimente pe buton care ascultă pentru Tasta în jos eveniment. Când orice tastă este apăsată în timp ce butonul este focalizat, Vue evaluează contor++ expresie.





Conectarea evenimentelor cu metode în Vue

În majoritatea aplicațiilor Vue, puteți gestiona o logică mai complexă bazată pe evenimente specifice care au loc. Evenimentele și metodele funcționează mână în mână pentru a efectua acțiuni ale aplicației bazate pe un eveniment.

cum să hack un wii u

Proprietatea metodelor în Obiectul Opțiuni al lui Vue deține funcții importante de care aplicația ta Vue are nevoie pentru o reactivitate îmbunătățită. Cu proprietatea methods din Vue, puteți gestiona logica complexă bazată pe evenimente.

Iată un exemplu de aplicație Vue care arată evenimente gestionate de proprietatea methods:

 <html> 
<head>
  <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
</head>
<body>
  <div id="app">
    <button @click="increment">Add 1</button>
    

    <button @click="reduce">reduce 1</button>
    <p>{{ counter }}</p>
  </div>
  <script>
    const app = Vue.createApp({
      data() {
        return {
          text: 'Vue is awesome!',
          counter: 0
        }
      },
      methods: {
        increment(){
          this.counter = this.counter + 1
        },
        reduce() {
          this.counter = this.counter - 1
        }
      }
    })
    app.mount('#app')
  </script>
</body>
</html>

Aplicația Vue de mai sus arată cum să legați evenimentele cu metode. Aplicația are două butoane pe care utilizatorii le pot face clic pentru a crește sau reduce valoarea contorului din proprietatea datelor.

Aplicația realizează acest lucru cu @clic directivă. The @clic directiva indică funcțiile din proprietatea methods pentru a manipula valoarea contorului.

Când legați un argument la evenimentul clic, puteți personaliza metodele de creștere și reducere pentru a adăuga sau reduce valoarea contorului în funcție de argumentul pe care îl transmiteți metodei.

Ca astfel:

 <body> 
  <div id="app">
    <button @click="increment(5)">Add 5</button>
    

    <button @click="reduce(3)">reduce 3</button>
    <p>{{ counter }}</p>
  </div>

  <script>
    const app = Vue.createApp({
      data() {
        return {
          text: 'Vue is awesome!',
          counter: 0
        }
      },
      methods: {
        increment(num){
          this.counter = this.counter + num
        },
        reduce(num) {
          this.counter = this.counter - num
        }
      }
    })

    app.mount('#app')
  </script>
</body>

Acest bloc de cod se extinde pe aplicația Vue anterioară pentru a permite transmiterea de argumente la metodele legate de ascultătorul de evenimente clic pe buton.

Metodele de increment și reducere în instanța Vue iau un argument num pentru a crește sau a reduce proprietatea counter.

Acest exemplu arată cum puteți lucra cu argumente atunci când legați metode cu evenimente în Vue. Conectarea metodelor cu evenimente poate ajuta la a face aplicațiile Vue mai interactive.

Explorarea modificatorilor de prevenire și oprire din Vue

Modificatorii de evenimente din Vue vă permit să creați ascultători de evenimente mai buni, care să răspundă nevoilor specifice ale aplicației dvs. Pentru a utiliza acești modificatori de evenimente, înlănțuiți modificatorii la evenimentele din Vue.

De exemplu:

 <form @submit.prevent="handleSubmit"> 
  <input type="text" v-model="text">
  <button type="submit">Submit</button>
</form>

Blocul de cod de mai sus conectează împiedica modificator la evenimentul de trimitere. The împiedica modificatorul este folosit în mod obișnuit atunci când lucrați cu formulare în Vue.

cum se curăță Windows 10 pentru PC

The împiedica Scopul modificatorului este de a preveni comportamentul implicit al trimiterii formularelor, care este reîncărcarea paginii. Folosind împiedica , Vue își poate continua procesele în timp ce handleSubmit metoda se ocupă de transmiterea formularului.

Un alt exemplu de modificator foarte util este Stop modificator de eveniment. The Stop modificatorul de evenimente oprește propagarea unui eveniment mai sus în arborele DOM.

De obicei, un eveniment al unui element copil HTML apare prin arborele DOM, activând orice ascultători de evenimente atașați elementelor părinte. Puteți preveni acest lucru propagarea evenimentului cu Stop modificator și împiedică evenimentul să declanșeze mai mulți ascultători de evenimente.

Pentru a înțelege cum Stop modificatorul oprește propagarea evenimentelor mai sus într-un arbore DOM, luați în considerare blocul de cod de mai jos:

cum să vă conectați automat la Windows 10
 <body> 
    <div id="app">
        <div @click="outerClick" class="outer">
            <div @click.stop="innerClick" class="inner">
              <button @click="buttonClick" class="button">Click me</button>
            </div>
        </div>
    </div>
    <script>
    const app = Vue.createApp({
        methods: {
            outerClick() {
                console.log('Outer click')
            },
            innerClick() {
                console.log('Inner click')
            },
            buttonClick() {
                console.log('Button click')
            }
        }
    });

    app.mount("#app");
    </script>
 </body>

Blocul de cod de mai sus are trei ascultători de evenimente atașați la trei elemente diferite. The buton elementul este în interiorul div-ului cu interior clasa, în timp ce div-ul cu interior clasa este în interiorul div-ului cu exterior clasă.

Fiecare dintre cele trei elemente ascultă a clic eveniment și se înregistrează în consolă, s-a făcut clic pe numele elementului HTML. Mai jos este o clasă suplimentară de stil CSS pentru a face mai ușor de înțeles blocul de cod de mai sus:

 <head> 
    <style>
    .outer {
      padding: 20px;
      background-color: black;
    }
    .inner {
      padding: 20px;
      background-color: gray;
    }
    button {
      padding: 10px;
      background-color: white;
      border: 2px solid black;
      font-size: 16px;
      font-weight: bold;
      cursor: pointer;
    }
    </style>
</head>

La rularea programului, aplicația Vue creată va arăta astfel:

  Aplicația Vue cu un buton alb-negru faceți clic pe mine

Rețineți că atunci când faceți clic pe butonul, programul apelează butonulClic metoda și înregistrează un mesaj pe consolă. Programul mai numește și innerClick metodă.

Cu toate acestea, programul nu apelează outerClick metoda deoarece blocul de cod a adăugat o Stop modificator la innerClick ascultător de evenimente. Acest lucru oprește propagarea evenimentului mai sus în arborele DOM.

Fara Stop modificator, programul va apela butonulClic când faceți clic pe butonul, iar evenimentul va continua să se propage în sus în arbore, ajungând la innerClick metoda și apoi cea outerClick metodă.

Gestionarea evenimentelor în aplicațiile web

Ați învățat cum să utilizați legarea de evenimente în Vue pentru a atașa ascultătorii de evenimente la elemente și cum să apelați metode atunci când apar evenimente. De asemenea, ați înțeles cum să utilizați modificatorii de evenimente pentru a personaliza comportamentul evenimentului.

Aplicațiile web se bazează pe o anumită formă de evenimente de utilizator pentru a îndeplini funcții. JavaScript vine încorporat cu o mulțime de metode pentru a captura și gestiona o varietate de aceste evenimente. Aceste evenimente ajută la construirea de aplicații interactive.