آموزش رایگان Vue.js

آموزش Event Handling و v-on در Vue.js | مدیریت رویدادها با مثال کاربردی

1404/09/22 00:17 محراب حسن زاده
آموزش Event Handling و v-on در Vue.js | مدیریت رویدادها با مثال کاربردی

کار با رویدادها در Vue.js یکی از مهم‌ترین بخش‌های تعاملات کاربر با برنامه است. Vue.js برای مدیریت رویدادها از دستور v-on استفاده می‌کند که این دستور به شما اجازه می‌دهد به رویدادهای مختلفی مانند کلیک، تغییر، فشردن کلید و موارد دیگر پاسخ دهید. در این مقاله، به بررسی نحوه استفاده از v-on و انواع مختلفی از کار با رویدادها در Vue.js می‌پردازیم.


استفاده از v-on برای رویدادها

برای افزودن یک رویداد به یک عنصر HTML در Vue.js، از دستور v-on استفاده می‌شود. v-on به عنوان دستورالعمل (Directive) عمل می‌کند و به Vue.js اجازه می‌دهد تا رویدادهای مختلف را شنود کند و واکنش‌های مورد نظر را اعمال کند.

مثال: رویداد کلیک ساده




< div id="app" >
  < button v-on:click=" showMessage " > Click Me < / button >
< / div >




  new Vue ( {
    el : ' #app ' ,
    data ( ) {
      return {
        message : ' Hello Vue! '
      } ;
    } ,
    methods : {
      showMessage ( ) {
        alert ( this.message ) ;
      }
    }
  } ) ;


در این مثال:

  • با کلیک بر روی دکمه، متد showMessage اجرا می‌شود که پیام ذخیره شده در data را نمایش می‌دهد.

  • v-on:click رویداد کلیک را به متد showMessage متصل می‌کند.


مخفف v-on به @

در Vue.js می‌توان از علامت @ به جای v-on استفاده کرد تا کد کوتاه‌تر و خواناتر شود.

همان مثال قبل با استفاده از @:




< button @click=" showMessage " > Click Me < / button >


این روش مخفف به کار شما سرعت و سادگی بیشتری می‌بخشد و در کدهای Vue.js به‌طور گسترده‌ای استفاده می‌شود.


ارسال پارامتر به متدها

گاهی نیاز دارید پارامترهایی را به متدهای خود ارسال کنید. برای این کار می‌توانید از تابع arrow function استفاده کنید.

مثال: ارسال پارامتر به متد



< div id=" app " >
  < button @click=" showMessage ( ' Hello! ' ) " > Click Me < / button >
< / div >




  new Vue ( {
    el : ' #app ' ,
    methods : {
      showMessage ( msg ) {
        alert ( msg ) ;
      }
    }
  } ) ;


در این مثال، مقدار 'Hello!' به عنوان پارامتر به متد showMessage ارسال می‌شود.


رویدادهای پیش‌فرض مرورگر و اصلاح‌کننده‌ها (Modifiers)

Vue.js از اصلاح‌کننده‌ها برای جلوگیری از رفتارهای پیش‌فرض و اصلاح عملکرد رویدادها پشتیبانی می‌کند. برای مثال، برای جلوگیری از ارسال فرم با submit می‌توان از .prevent استفاده کرد.

مثال: جلوگیری از ارسال فرم




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




  new Vue ( {
    el : ' #app ' ,
    data ( ) {
      return {
        name : ' '
      } ;
    } ,
    methods : {
      handleSubmit ( ) {
        alert ( ' Form submitted! ' ) ;
      }
    }
  } ) ;


در این مثال، .prevent از ارسال فرم به صورت پیش‌فرض جلوگیری می‌کند.


اصلاح‌کننده‌های رایج در Vue.js


اصلاح‌کننده توضیح

.prevent

جلوگیری از رفتار پیش‌فرض رویداد، مثل ارسال فرم

.stop

توقف انتشار رویداد به عناصر والد

.capture

فعال‌سازی capture mode برای رویداد

.self

اجرا فقط در صورتی که رویداد روی همان عنصر رخ دهد

.once

اجرای رویداد فقط یک بار


مثال: استفاده از .stop




< div id = " app " @click = " parentClick " >
  < button @click.stop = " childClick " > Click Me < / button >
< / div >




  new Vue ( {
    el : ' #app ' ,
    methods : {
      parentClick ( ) {
        alert ( ' Parent clicked! ' ) ;
      } ,
      childClick ( ) {
        alert ( ' Button clicked! ' ) ;
      }
    }
  } ) ;


در این مثال، با کلیک بر روی دکمه، تنها childClick اجرا می‌شود و رویداد به parentClick نمی‌رسد.


مدیریت رویدادهای کیبورد

Vue.js به شما اجازه می‌دهد رویدادهای کیبورد را با کمک v-on و اصلاح‌کننده‌های خاصی مانند .enter، .esc و سایر کلیدها مدیریت کنید.

مثال: استفاده از کلید Enter




< input @keyup.enter = " submitInput " v-model = " inputValue " >




  new Vue ( {
    el : ' #app ' ,
    data ( ) {
      return {
        inputValue : ' '
      } ;
    } ,
    methods : {
      submitInput ( ) {
        alert ( ` Input Submitted: ${this.inputValue} ` ) ;
      }
    }
  } ) ;


در این مثال، زمانی که کاربر کلید Enter را فشار می‌دهد، متد submitInput اجرا می‌شود.


استفاده از Event Modifiers به عنوان شرط در رویدادها

Vue.js به شما اجازه می‌دهد از چندین اصلاح‌کننده در یک رویداد استفاده کنید. به این صورت می‌توانید به رویدادها شرایطی اضافه کنید تا تنها در موارد خاص اجرا شوند.

مثال: استفاده از چندین اصلاح‌کننده در یک رویداد




< button @click.ctrl.shift = " specialAction " > Special Action < / button >




  new Vue ( {
    el : ' #app ' ,
    methods : {
      specialAction ( ) {
        alert ( ' Ctrl + Shift + Click triggered! ' ) ;
      }
    }
  } ) ;


در این مثال، متد specialAction فقط زمانی اجرا می‌شود که کاربر همزمان با فشار دادن کلیدهای Ctrl و Shift، دکمه را کلیک کند.


نتیجه‌گیری

استفاده از v-on و مدیریت رویدادها در Vue.js به شما کمک می‌کند تعاملات متنوع و انعطاف‌پذیری را با کاربران پیاده‌سازی کنید. v-on همراه با اصلاح‌کننده‌ها و شرایط مختلف، امکان کنترل دقیق رویدادها و عملکردهای مورد نظر را فراهم می‌آورد.

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

آموزش تکنیک‌های پیشرفته CSS Grid: طراحی ساختارهای پیچیده و واکنش‌گرا
1402/06/18 23:16

آموزش تکنیک‌های پیشرفته CSS Grid: طراحی ساختارهای پیچیده و واکنش‌گرا

مطالعه بیشتر
آموزش جامع اتصال به دیتابیس با PDO در PHP
1405/05/04 23:42

آموزش جامع اتصال به دیتابیس با PDO در PHP

مطالعه بیشتر
تفاوت include، require، include_once و require_once در PHP
1405/05/01 20:32

تفاوت include، require، include_once و require_once در PHP

مطالعه بیشتر
کار با تصاویر SVG در CSS: کنترل استایل و استفاده از گرافیک‌های مقیاس‌پذیر
1403/08/16 22:45

کار با تصاویر SVG در CSS: کنترل استایل و استفاده از گرافیک‌های مقیاس‌پذیر

مطالعه بیشتر
Async/Await: نوشتن کدهای خواناتر و ناهم‌زمان در جاوا اسکریپت - آموزش کامل با مثال‌ها
1403/07/30 20:50

Async/Await: نوشتن کدهای خواناتر و ناهم‌زمان در جاوا اسکریپت - آموزش کامل با مثال‌ها

مطالعه بیشتر
معرفی React.js و بررسی مزایای آن برای توسعه وب و اپلیکیشن
1402/06/28 00:59

معرفی React.js و بررسی مزایای آن برای توسعه وب و اپلیکیشن

مطالعه بیشتر
آموزش گام به گام طراحی مگا منو (Mega Menu) مدرن با CSS و HTML
1405/03/13 23:44

آموزش گام به گام طراحی مگا منو (Mega Menu) مدرن با CSS و HTML

مطالعه بیشتر
آموزش سیر تا پیاز تاریخ و زمان در PHP (استاندارد گوگل)
1405/04/27 21:58

آموزش سیر تا پیاز تاریخ و زمان در PHP (استاندارد گوگل)

مطالعه بیشتر
مفهوم برنامه‌نویسی هم‌زمان و ناهم‌زمان در جاوا اسکریپت: تفاوت‌ها، مثال‌ها و کاربردها
1403/07/29 20:37

مفهوم برنامه‌نویسی هم‌زمان و ناهم‌زمان در جاوا اسکریپت: تفاوت‌ها، مثال‌ها و کاربردها

مطالعه بیشتر
آموزش کامنت‌ها و کاراکترهای خاص در HTML و CSS: نحوه استفاده و مدیریت
1402/05/23 00:08

آموزش کامنت‌ها و کاراکترهای خاص در HTML و CSS: نحوه استفاده و مدیریت

مطالعه بیشتر
آموزش کامل توابع سازنده (Constructors) و پروتوتایپ‌ها (Prototypes) در جاوا اسکریپت: راهنمای جامع
1403/07/28 21:41

آموزش کامل توابع سازنده (Constructors) و پروتوتایپ‌ها (Prototypes) در جاوا اسکریپت: راهنمای جامع

مطالعه بیشتر
آموزش کار با flex-grow، flex-shrink و flex-basis در CSS Flexbox: مدیریت اندازه و فضای عناصر
1403/08/11 20:50

آموزش کار با flex-grow، flex-shrink و flex-basis در CSS Flexbox: مدیریت اندازه و فضای عناصر

مطالعه بیشتر

تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد