Ana içeriğe geç

Vue.js Event Yönetimi: Kullanıcı Etkileşimleri Nasıl Oluşturulur?

Bu rehberde ne öğreneceksiniz?

Bu rehberde Vue.js event sistemiyle kullanıcı etkileşimleri oluşturmayı öğreneceksiniz.
Amaç, tıklama ve özel olaylarla etkileşimli bir yönetim paneli geliştirmektir.

Örnek senaryoda bir Sunucu Yönetim Paneli hazırlanır.


🧠 Teknik Özet

Bu rehber Vue.js olay (event) yönetimini anlatır.
Problem: Kullanıcı etkileşimlerini kontrol etmek.
Çözüm: v-on, modifier ve $emit kullanımı.


Ön Gereksinimler

  • Node.js v14+ kurulu olmalı
  • Vue CLI yüklü olmalı
  • HTML, CSS ve JavaScript temeli bilinmeli

1️⃣ Projeyi ve Veri Yapısını Hazırlama

Vue 3 tabanlı proje oluşturun.

vue create rabisu-sunucu-paneli
  • Bu komut Vue 3 yapılandırmasıyla proje oluşturur.

  • Sunucu verilerini tanımlayın.
export default [
{ id: 1, isim: 'İstanbul-Node-01', lokasyon: 'Türkiye', durum: 'Aktif' },
{ id: 2, isim: 'Amsterdam-VDS-04', lokasyon: 'Hollanda', durum: 'Aktif' }
]
  • Bu veri Rabisu veri merkezlerini simüle eder.

2️⃣ Sunucu Kartı Bileşeni Oluşturma

<template>
<div class="sunucu-karti">
<h3>{{ sunucu.isim }}</h3>
<p>Lokasyon: {{ sunucu.lokasyon }}</p>
<small>Durum: {{ sunucu.durum }}</small>
</div>
</template>

<script>
export default {
props: {
sunucu: { type: Object, required: true }
}
}
</script>
  • Bu bileşen veriyi prop ile alır.

3️⃣ v-on ile Olay Dinleme

<div class="sunucu-karti" @click="sunucuSec(sunucu.isim)">
  • Bu kod tıklama olayını yakalar.
function sunucuSec(isim) {
alert(`$&#123;isim&#125; inceleniyor.`)
}
  • Bu fonksiyon kullanıcıya geri bildirim verir.

4️⃣ Event Modifier Kullanımı

Tek Seferlik Çalıştırma

@click.once="sunucuSec(sunucu.isim)"
  • Event sadece ilk tıklamada çalışır.

Tuş Kombinasyonu

@click.shift="sunucuSec(sunucu.isim)"
  • Event sadece Shift + Tık ile çalışır.

5️⃣ Custom Event ($emit) Kullanımı

  1. Child bileşenden parent’a veri gönderin.
@click="$emit('favoriEkle', sunucu)"
  • Bu kod özel bir event tetikler.

6️⃣ Parent Bileşende Event Yakalama

<sunucu-karti
:sunucu="item"
@favoriEkle="listeyeEkle"
/>
function listeyeEkle(sunucu) {
if (!favoriler.value.includes(sunucu)) {
favoriler.value.push(sunucu)
}
}
  • Bu işlem favori listesini günceller.

❓ Sıkça Sorulan Sorular (SSS)

1. @ ile v-on arasında fark var mı? Hayır. @click, v-on:click kısaltmasıdır.

2. $emit ile birden fazla veri gönderilir mi? Evet. Parametreler virgülle iletilebilir.

3. .prevent ne işe yarar? Varsayılan HTML davranışını engeller.


🎯 Sonuç

Bu rehberde Vue.js event yönetimini öğrendiniz. Modifier ve custom event kullanımıyla etkileşimli yapı kurdunuz.

Projelerinizi Rabisu Bulut altyapısında güvenle çalıştırabilirsiniz. Kodlarınız kadar hızlı sunucular sizi bekliyor 🚀