Skip to content

Giriş

  • Angular nedir?
  • Temel Bilgiler
    • Genel Bakış
    • Bileşenler
    • Dinamik Verileri Yönetme
    • Dinamik Şablonları Oluşturma
    • Koşullu İfadeler ve Döngüler
    • Kullanıcı Etkileşimini Yönetme
    • Kod Paylaşımı

Kapsamlı Kılavuzlar

  • Component
    • Bir Componentin Anatomisi
    • Component’leri İçe Aktarma ve Kullanma
    • Component Seçiciler
    • Stil Componentleri
    • Input Özelliklerine Sahip Verileri Kabul Etme
    • Outputları Olan Özel Etkinlikler
    • Ng-content ile İçerik Projeksiyonu
    • Component Ana Öğeleri
    • Component Yaşam Döngüsü
    • Sorgularla Bileşen Alt Öğelerine Başvurma
    • DOM API’lerini Kullanma
    • Inheritance
    • Bileşenleri Programlı Olarak Oluşturma
    • Gelişmiş Bileşen Yapılandırması
  • Şablon Sözdizimi
    • Genel Bakış
    • Text Interpolation
    • Template Statements
    • Bağlamayı Anlama
    • Property Binding
    • En İyi Property Binding Kullanımları
    • Öznitelik Bağlama
    • Sınıf ve stil bağlama
    • Olay Bağlama
    • İki Yönlü Bağlama
    • Yerleşik Kontrol Akışı
    • Şablon Değişkenlerini Anlama
    • Şablon Olarak SVG
  • Directives
    • Directives
    • Öznitelik yönergeleri
    • Yapısal Direktifler
    • API Direktif Bileşimi

Bağımlılık Enjeksiyonu

  • Genel Bakış
  • Başlangıç
  • Dokümanlar
  • Kapsamlı Kılavuzlar
  • Şablon Sözdizimi
  • Olay Bağlama

Olay Bağlama

Olay bağlama, tuş vuruşları, fare hareketleri, tıklamalar ve dokunmalar gibi kullanıcı eylemlerini dinlemenizi ve bunlara yanıt vermenizi sağlar.

Olaylara bağlanma #

Bir olaya bağlanmak için Angular olay bağlama sözdizimini kullanırsınız. Bu sözdizimi, eşittir işaretinin solundaki parantezler içinde bir hedef olay adı ve sağda tırnak içine alınmış bir şablon ifadesinden oluşur.

Aşağıdaki örneği oluşturun; hedef olay adı click ve şablon ifadesi onSave().

<button (click)="onSave()">Save</button>

Olay bağlama, düğmenin tıklama olaylarını dinler ve bir tıklama meydana geldiğinde bileşenin onSave() yöntemini çağırır.

Bir olay hedefi belirleme #

Bir olay hedefini belirlemek için Angular, hedef olayın adının bilinen bir yönergenin olay özelliğiyle eşleşip eşleşmediğini kontrol eder.

Aşağıdaki örneği oluşturun: (Angular, myClick‘in özel ClickDirective üzerinde bir olay olup olmadığını kontrol eder)

<h4>myClick is an event on the custom ClickDirective:</h4>
  <button type="button" (myClick)="clickMessage=$event" clickable>click with myClick</button>
  {{ clickMessage }}

Hedef olay adı olan myClick, ClickDirective‘in bir çıktı özelliğiyle eşleşmezse, Angular bunun yerine altta yatan DOM öğesindeki myClick olayına bağlanır.

Klavye olaylarına bağlanma #

Angular’ın bağlama sözdizimini kullanarak klavye olaylarına bağlayabilirsiniz. Klavye olaylarına bağlamak istediğiniz tuşu veya kodu belirtebilirsiniz. Key ve code alanları, tarayıcı klavye olay nesnesinin yerel bir parçasıdır. Varsayılan olarak, olay bağlama, klavye olayında key alanını kullanmak istediğinizi varsayar. Code alanını da kullanabilirsiniz.

Tuş kombinasyonları bir . (nokta) ile ayrılabilir. Örneğin, keydown.enter, olayları enter tuşuna bağlamanıza olanak tanır. Ayrıca shift, alt, control ve Mac’teki command tuşları gibi değiştirici tuşları da kullanabilirsiniz. Aşağıdaki örnekte bir klavye olayının keydown.shift.t‘ye nasıl bağlanacağı gösterilmektedir.

<input (keydown.shift.t)=”onKeydown($event)” />

İşletim sistemine bağlı olarak, bazı tuş kombinasyonları beklediğiniz tuş kombinasyonu yerine özel karakterler oluşturabilir. Örneğin MacOS, option ve shift tuşlarını birlikte kullandığınızda özel karakterler oluşturur. MacOS’ta keydown.shift.alt.t‘ye bağlarsanız, bu kombinasyon t yerine ˇ karakteri üretir, bu da bağlama ile eşleşmez ve olay işleyicinizi tetiklemez. MacOS’ta keydown.shift.alt.t‘ye bağlamak için, bu örnekte gösterilen keydown.code.shiftleft.altleft.keyt gibi doğru davranışı elde etmek üzere code klavye olay alanını kullanın.

<input (keydown.code.shiftleft.altleft.keyt)=”onKeydown($event)” />

Code alanı key alanından daha spesifiktir. Key alanı her zaman shift bildirirken, code alanı leftshift veya rightshift belirtir. Code alanını kullanırken, istediğiniz tüm davranışları yakalamak için ayrı bağlar eklemeniz gerekebilir. Kod alanını kullanmak, macOS’taki shift + option davranışı gibi işletim sistemine özgü davranışları ele alma ihtiyacını ortadan kaldırır.

Pasif olaylara bağlanma #

Bu, çoğu uygulama için gerekli olmayan gelişmiş bir tekniktir. Performans sorunlarına neden olan sık meydana gelen olayların işlenmesini optimize etmeniz gerekiyorsa bunu yararlı bulabilirsiniz.

Örneğin, bir kaydırma olayını pasif hale getirmek için aşağıdaki adımları kullanın.

1-src dizini altında bir zone-flags.ts dosyası oluşturun.

2-Bu dosyaya aşağıdaki satırı ekleyin.

(window as any)['__zone_symbol__PASSIVE_EVENTS'] = ['scroll'];

3-src/polyfills.ts dosyasında, zone.js dosyasını içe aktarmadan önce, yeni oluşturulan zone-flags dosyasını içe aktarın.

import './zone-flags';
import 'zone.js';  // Included with Angular CLI.

Bu adımlardan sonra, scroll olayı için olay dinleyicileri eklerseniz, dinleyiciler passive olacaktır.

Neler hissediyorsun?
Share This Article :
  • Facebook
  • Twitter
  • LinkedIn
  • Pinterest
Hala sıkışık? Nasıl yardımcı olabiliriz?

Nasıl yardımcı olabiliriz?

Updated on 26 March 2024
Sınıf ve stil bağlamaİki Yönlü Bağlama

Powered by BetterDocs

İçindekiler
  • Olaylara bağlanma
  • Bir olay hedefi belirleme
  • Klavye olaylarına bağlanma
  • Pasif olaylara bağlanma
Angular TR

Tüm hakları saklıdır