Kako ravnati z dogodki v Vue

Kako ravnati z dogodki v Vue
Bralci, kot ste vi, pomagajo podpirati MUO. Ko opravite nakup prek povezav na našem spletnem mestu, lahko zaslužimo partnersko provizijo. Preberi več.

Poslušanje uporabniških dogodkov je sestavni del vsake odzivne spletne aplikacije in aplikacije Vue niso izjema. Vue je zgrajen s preprostim in učinkovitim načinom za obravnavo dogodkov s svojo direktivo v-on.





Kaj je vezava dogodkov v Vue?

Vezava dogodkov je funkcija Vue.js, ki vam omogoča pripenjanje poslušalca dogodkov na a Objektni model dokumenta (DOM) element. Ko pride do dogodka, poslušalec dogodkov sproži dejanje ali odgovor v vaši aplikaciji Vue.





MAKEUSEOF VIDEO DNEVA POMIKITE SE ZA NADALJEVANJE Z VSEBINO

Vezavo dogodkov v Vue lahko dosežete z v-on direktiva. Ta direktiva vaši aplikaciji omogoča poslušanje uporabniških dogodkov, kot so dogodki klikanja, vnosa ali dviga ključa.





Če želite pripeti poslušalca dogodkov elementu z uporabo v-on , dodajte ime dogodka kot parameter v direktivo:

 <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>

Zgornji blok kode prikazuje primer aplikacije Vue, ki posluša a kliknite dogodek. Kodni blok uporablja a gumb za povečanje števec vrednost v podatkovni lastnosti primerka Vue za eno.



Zgornji blok kode veže izraz JavaScript števec++ na gumbe kliknite dogodek z v-on direktiva. Vue uporablja @ znak kot okrajšava namesto v-on direktiva zaradi v-on pogosta uporaba:

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

Vezava dogodkov v Vue ni omejena na dogodke klikov. Vue obravnava druge dogodke, kot so dogodki pritiskanja tipk, dogodki premikanja miške in drugo.





Če želite katerega koli od teh dogodkov povezati z v-on direktivo, nadomestiti kliknite dogodek z imenom želenega dogodka:

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

Zgornja koda nastavi poslušalca dogodkov na gumb ki posluša za keydown dogodek. Ko pritisnete katero koli tipko, medtem ko je gumb v fokusu, Vue oceni števec++ izražanje.





Povezovanje dogodkov z metodami v Vue

V večini aplikacij Vue lahko upravljate z bolj zapleteno logiko, ki temelji na določenih dogodkih. Dogodki in metode delujejo z roko v roki za izvajanje dejanj aplikacije na podlagi dogodka.

Lastnost metode v Predmet možnosti Vue vsebuje pomembne funkcije, ki jih vaša aplikacija Vue potrebuje za izboljšano odzivnost. Z lastnostjo metode v Vue lahko upravljate s kompleksno logiko, ki temelji na dogodkih.

Tukaj je primer aplikacije Vue, ki prikazuje dogodke, ki jih obravnava lastnost metode:

 <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>

Zgornja aplikacija Vue prikazuje, kako povezati dogodke z metodami. Aplikacija ima dva gumba, ki ju lahko uporabniki kliknejo, da povečajo ali zmanjšajo vrednost števca v lastnosti podatkov.

Aplikacija to doseže z @klik direktiva. The @klik direktiva kaže na funkcije v lastnosti metode za manipulacijo vrednosti števca.

Pri povezovanju argumenta z dogodkom klika lahko prilagodite metode prirastka in zmanjšanja, da dodate ali zmanjšate vrednost števca na podlagi argumenta, ki ga posredujete metodi.

takole:

 <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>

Ta blok kode se razširi na prejšnjo aplikacijo Vue, da omogoči posredovanje argumentov metodam, povezanim s poslušalcem dogodka klika na gumbu.

kako zmanjšati ločljivost jpega

Metodi povečanja in zmanjšanja v primerku Vue sprejmeta argument num za povečanje ali zmanjšanje lastnosti števca.

Ta primer prikazuje, kako lahko delate z argumenti pri povezovanju metod z dogodki v Vue. Povezovanje metod z dogodki lahko pomaga narediti aplikacije Vue bolj interaktivne.

Raziskovanje modifikatorjev Prevent in Stop v Vue

Modifikatorji dogodkov v Vue vam omogočajo ustvarjanje boljših poslušalcev dogodkov, ki ustrezajo posebnim potrebam vaše aplikacije. Če želite uporabiti te modifikatorje dogodkov, jih verižite z dogodki v Vue.

Na primer:

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

Zgornji blok kode veriži preprečiti modifikator dogodka predložitve. The preprečiti modifikator se običajno uporablja pri delu z obrazci v Vue.

The preprečiti Namen modifikatorja je preprečiti privzeto vedenje oddaje obrazca, ki je ponovno nalaganje strani. Uporaba preprečiti , lahko Vue nadaljuje svoje procese, medtem ko je handleSubmit metoda poskrbi za oddajo obrazca.

Drug primer zelo uporabnega modifikatorja je stop modifikator dogodka. The stop modifikator dogodka ustavi širjenje dogodka naprej po drevesu DOM.

Običajno se dogodek podrejenega elementa HTML pojavi v mehurčkih skozi drevo DOM in aktivira vse poslušalce dogodkov, pritrjene nadrejenim elementom. To lahko preprečite širjenje dogodkov z stop modifikator in preprečite, da bi dogodek sprožil nadaljnje poslušalce dogodkov.

Da bi razumeli, kako stop modifikator ustavi širjenje dogodkov naprej po drevesu DOM, upoštevajte spodnji blok kode:

 <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>

Zgornji blok kode ima tri poslušalce dogodkov, pritrjene na tri različne elemente. The gumb element je znotraj diva z notranji razreda, medtem ko je div z notranji razred je znotraj diva z zunanji razred.

Vsak od treh elementov posluša a kliknite dogodka in dnevnikov v konzolo, kliknili ime elementa HTML. Spodaj je dodatni slog CSS razreda, ki omogoča lažje razumevanje zgornjega bloka kode:

 <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>

Ko zaženete program, bo ustvarjena aplikacija Vue videti takole:

  Aplikacija Vue s črno-belim gumbom klikni me

Upoštevajte, da ko kliknete gumb, program pokliče gumb Kliknite in zapiše sporočilo v konzolo. Program pokliče tudi innerClick metoda.

Vendar pa program ne pokliče outerClick ker je blok kode dodal a stop modifikator za innerClick poslušalec dogodkov. To prepreči nadaljnje širjenje dogodka po drevesu DOM.

Brez stop modifikator, bo program poklical gumb Kliknite metodo, ko kliknete gumb, dogodek pa se bo še naprej širil po drevesu in dosegel innerClick metoda in nato outerClick metoda.

Upravljanje dogodkov v spletnih aplikacijah

Naučili ste se, kako uporabljati vezavo dogodkov v Vue za pripenjanje poslušalcev dogodkov na elemente in kako poklicati metode, ko pride do dogodkov. Prav tako ste razumeli, kako uporabljati modifikatorje dogodkov za prilagoditev obnašanja dogodkov.

Spletne aplikacije se za izvajanje funkcij zanašajo na neko obliko uporabniških dogodkov. JavaScript ima vgrajeno veliko metod za zajemanje in obravnavo različnih teh dogodkov. Ti dogodki pomagajo pri ustvarjanju interaktivnih aplikacij.