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
  • İki Yönlü Bağlama

İki Yönlü Bağlama

İki yönlü bağlama, uygulamanızdaki bileşenlere veri paylaşımı için bir yol sunar. Olayları dinlemek ve üst ve alt bileşenler arasında eş zamanlı olarak değerleri güncellemek için iki yönlü bağlamayı kullanın.

İki yönlü bağlama,  property binding ile olay bağlamayı birleştirir:

BağlamalarDetaylar
Property bindingBelirli bir öğe özelliğini ayarlar.
Event bindingBir öğe değişikliği olayını dinler.

İki yönlü veri bağlama ekleme #

Angular’ın iki yönlü bağlama sözdizimi, köşeli parantezler ve parantezlerin bir kombinasyonudur, [()]. (()] sözdizimi, özellik bağlamanın parantezleri olan [] ile olay bağlamanın parantezleri olan ()‘i aşağıdaki gibi birleştirir.

<app-sizer [(size)]="fontSizePx"></app-sizer>

İki yönlü bağlama nasıl çalışır? #

İki yönlü veri bağlamanın çalışması için, @Output() özelliği inputChange kalıbını kullanmalıdır; burada input, @Input() özelliğinin adıdır. Örneğin, @Input() özelliği size ise, @Output() özelliği sizeChange olmalıdır.

Aşağıdaki sizerComponent bir size değeri özelliğine ve bir sizeChange olayına sahiptir. size özelliği bir @Input() özelliğidir, böylece veriler sizerComponent‘e akabilir. sizeChange olayı bir @Output() olup verilerin sizerComponent‘ten ana bileşene akmasını sağlar.

Ardından, yazı tipi boyutunu azaltmak için dec() ve yazı tipi boyutunu artırmak için inc() olmak üzere iki yöntem vardır. Bu iki yöntem, size özelliğinin değerini min/maks değer kısıtlamaları dahilinde değiştirmek ve yeni size değerini ileten bir olay yaymak için resize() yöntemini kullanır.

export class SizerComponent {
  @Input() size!: number | string;
  @Output() sizeChange = new EventEmitter<number>();
  dec() {
    this.resize(-1);
  }
  inc() {
    this.resize(+1);
  }
  resize(delta: number) {
    this.size = Math.min(40, Math.max(8, +this.size + delta));
    this.sizeChange.emit(this.size);
  }
}

SizerComponent şablonunda, her biri tıklama olayını inc() ve dec() yöntemlerine bağlayan iki düğme bulunur. Kullanıcı düğmelerden birine tıkladığında, sizerComponent ilgili yöntemi çağırır. Her iki yöntem de, inc() ve dec(), resize() yöntemini +1 veya -1 ile çağırır ve bu da sizeChange olayını yeni boyut değeriyle yükseltir.

<div>
  <button type="button" (click)="dec()" title="smaller">-</button>
  <button type="button" (click)="inc()" title="bigger">+</button>
  <span [style.font-size.px]="size">FontSize: {{size}}px</span>
</div>

AppComponent şablonunda fontSizePx, SizerComponent’e iki yönlü olarak bağlanır.

<app-sizer [(size)]="fontSizePx"></app-sizer>
  <div [style.font-size.px]="fontSizePx">Resizable Text</div>

AppComponent‘te, fontSizePx değeri 16 olarak ayarlanarak ilk SizerComponent.size değeri oluşturulur.

fontSizePx = 16;

Düğmelere tıklandığında AppComponent.fontSizePx değeri güncellenir. Revize edilen AppComponent.fontSizePx değeri, görüntülenen metni daha büyük veya daha küçük yapan stil bağlamayı günceller.

İki yönlü bağlama sözdizimi, özellik bağlama ve olay bağlamanın bir kombinasyonu için kısaltılmıştır. SizerComponent bağlama, ayrı özellik bağlama ve olay bağlama olarak aşağıdaki gibidir.

<app-sizer [size]="fontSizePx" (sizeChange)="fontSizePx=$event"></app-sizer>

$Event değişkeni SizerComponent.sizeChange olayının verilerini içerir. Angular, kullanıcı düğmelere tıkladığında $event değerini AppComponent.fontSizePx‘e atar.

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 24 March 2024
Olay BağlamaYerleşik Kontrol Akışı

Powered by BetterDocs

İçindekiler
  • İki yönlü veri bağlama ekleme
  • İki yönlü bağlama nasıl çalışır?
Angular TR

Tüm hakları saklıdır