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
  • Component
  • Outputları Olan Özel Etkinlikler

Outputları Olan Özel Etkinlikler

Angular bileşenleri, yeni bir EventEmitter’a bir özellik atayarak ve @Output dekoratörünü ekleyerek özel olaylar tanımlayabilir:

@Component({...})
export class ExpandablePanel {
  @Output() panelClosed = new EventEmitter<void>();
}
<expandable-panel (panelClosed)="savePanelState()" />

EventEmitter üzerindeki emit yöntemini çağırarak bir olay yayabilirsiniz:

this.panelClosed.emit();

Angular, @Output dekoratörü ile işaretlenmiş özellikleri çıktı olarak adlandırır. Çıktıları, tıklama gibi yerel tarayıcı olaylarına benzer şekilde diğer bileşenlere veri aktarmak için kullanabilirsiniz.

Angular özel olayları DOM’da fazlalık oluşturmaz.

Output adları büyük/küçük harfe duyarlıdır.

Bir component sınıfı genişletilirken, outputlar alt sınıf tarafından miras alınır.

Emitting event verileri #

Emit’i çağırırken olay verilerini iletebilirsiniz:

// You can emit primitive values.
this.valueChanged.emit(7);
// You can emit custom event objects
this.thumbDropped.emit({
  pointerX: 123,
  pointerY: 456,
})

Bir şablonda bir event listener tanımlarken, olay verilerine $event değişkeninden erişebilirsiniz:

<custom-slider (valueChanged)="logValue($event)" />

Output adlarını özelleştirme #

Output dekoratörü, bir şablonda olay için farklı bir ad belirtmenize olanak tanıyan bir parametre kabul eder:

@Component({...})
export class CustomSlider {
  @Output('valueChanged') changed = new EventEmitter<number>();
}
<custom-slider (valueChanged)="saveVolume()" />

Bu takma ad, özelliğin TypeScript kodundaki kullanımını etkilemez.

Genellikle bileşenler için outputlara takma ad vermekten kaçınmanız gerekse de, bu özellik orijinal ad için bir takma ad korurken özellikleri yeniden adlandırmak veya yerel DOM olaylarının adıyla çakışmaları önlemek için yararlı olabilir.

Outputları @Component dekoratöründe belirtin #

@Output dekoratörüne ek olarak, bir bileşenin outputlarını @Component dekoratöründeki outputs özelliği ile de belirtebilirsiniz. Bu, bir bileşen bir özelliği bir temel sınıftan miras aldığında yararlı olabilir:

// `CustomSlider` inherits the `valueChanged` property from `BaseSlider`.
@Component({
  ...,
  outputs: ['valueChanged'],
})
export class CustomSlider extends BaseSlider {}

Ayrıca, dizede iki nokta üst üste işaretinden sonra takma adı koyarak outputs listesinde bir çıktı takma adı belirtebilirsiniz:

// `CustomSlider` inherits the `valueChanged` property from `BaseSlider`.
@Component({
  ...,
  outputs: ['valueChanged: volumeChanged'],
})
export class CustomSlider extends BaseSlider {}

Etkinlik adlarını seçme #

HTMLElement gibi DOM öğelerindeki olaylarla çakışan çıktı adları seçmekten kaçının. İsim çakışmaları, bağlı özelliğin component mi yoksa DOM öğesine mi ait olduğu konusunda karışıklığa neden olur.

Bileşen seçicilerde olduğu gibi bileşen outputları için ön ek eklemekten kaçının. Belirli bir eleman yalnızca bir bileşen barındırabildiğinden, tüm özel özelliklerin bileşene ait olduğu varsayılabilir.

Her zaman camelCase çıktı adları kullanın. Output adlarının önüne “on” eklemekten kaçının.

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 3 March 2024
Input Özelliklerine Sahip Verileri Kabul EtmeNg-content ile İçerik Projeksiyonu

Powered by BetterDocs

İçindekiler
  • Emitting event verileri
  • Output adlarını özelleştirme
  • Outputları @Component dekoratöründe belirtin
  • Etkinlik adlarını seçme
Angular TR

Tüm hakları saklıdır