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
  • Bağlamayı Anlama

Bağlamayı Anlama

Bir Angular şablonunda bağlama, şablondan oluşturulan kullanıcı arayüzünün bir parçası (bir DOM öğesi, yönerge veya bileşen) ile model (şablonun ait olduğu bileşen örneği) arasında canlı bir bağlantı oluşturur. Bu bağlantı, görünümü modelle senkronize etmek, görünümde bir olay veya kullanıcı eylemi gerçekleştiğinde modeli bilgilendirmek veya her ikisi için de kullanılabilir. Angular’ın  Change Detection algoritması, görünümü ve modeli senkronize tutmaktan sorumludur.

Bağlama örnekleri şunları içerir:

  • text interpolations
  • property binding
  • event binding
  • two-way binding

Bağlamaların her zaman iki bölümü vardır: bağlı değeri alacak bir hedef ve modelden bir değer üreten bir şablon ifadesi.

Sözdizimi #

Şablon ifadeleri JavaScript ifadelerine benzer. Aşağıdaki istisnalar dışında birçok JavaScript ifadesi yasal şablon ifadeleridir.

Aşağıdakiler dahil olmak üzere yan etkileri olan veya teşvik eden JavaScript ifadelerini kullanamazsınız:

  • Atamalar (=, +=, -=, …)
  • Operatörler new, typeof ya da instanceof
  • Bağlam ifadeleri ; veya , ile.
  • Arttırma ve azaltma operatörleri ++ ve —
  • ES2015+ operatörlerinden bazıları

JavaScript sözdiziminden diğer önemli farklılıklar şunlardır:

  • Bitişsel operatörler | ve & gibi desteklenmiyor.

İfade bağlamı #

Interpolated ifadelerin, ifadenin ait olduğu uygulamanın belirli bir parçası olan bir bağlamı vardır. Tipik olarak, bu bağlam bileşen örneğidir.

Aşağıdaki kod parçasında, recommended ifadesi ve itemImageUrl2 ifadesi AppComponent‘in özelliklerine atıfta bulunur.

<h4>{{ recommended }}</h4>
  <img alt="item 2" [src]="itemImageUrl2">

Bir ifade,  template input variable veya template reference variable gibi şablon bağlamının özelliklerine de başvurabilir.

Aşağıdaki örnekte customer şablon giriş değişkeni kullanılmaktadır.

<ul>
    @for (customer of customers; track customer) {
      <li>{{ customer.name }}</li>
    }
  </ul>

Sıradaki örnekte #customerInput adlı bir şablon referans değişkeni bulunmaktadır.

<label for="customer-input">Type something:
    <input id="customer-input" #customerInput>{{ customerInput.value }}
  </label>

YARARLI: Şablon ifadeleri, undefined dışında global ad alanındaki hiçbir şeye başvuramaz. Window veya document başvurusu yapamazlar. Ayrıca, console.log() veya Math.max() öğelerini çağıramazlar ve ifade bağlamının üyelerine başvurmakla sınırlıdırlar.

İsim çakışmalarını önleme #

Bir ifadenin değerlendirildiği bağlam, şablon değişkenlerinin, yönergenin bağlam nesnesinin (varsa) ve bileşenin üyelerinin birleşimidir. Bu ad alanlarından birden fazlasına ait olan bir ada başvurursanız, Angular bağlamı belirlemek için aşağıdaki öncelik mantığını uygular:

  1. Şablon değişken adı.
  2. Yönerge bağlamında bir isim.
  3. Bileşenin üye adları.

Değişkenlerin başka bir bağlamdaki değişkenleri gölgelemesini önlemek için değişken adlarını benzersiz tutun. Aşağıdaki örnekte, AppComponent şablonu Padma adlı customer selamlanmaktadır.

Daha sonra @for, customers dizisindeki her müşteriyi listeler.

@Component({
  standalone: true,
  template: `
    <div>
      <!-- Hello, Padma -->
      <h1>Hello, {{customer}}</h1>
      <ul>
        <!-- Ebony and Chiho in a list-->
        @for (customer of customers; track customer) {
          <li>{{ customer.value }}</li>
        }
      </ul>
    </div>
  `,
})
export class AppComponent {
  customers = [{value: 'Ebony'}, {value: 'Chiho'}];
  customer = 'Padma';
}

@For içindeki customer, @for tarafından tanımlanan örtük bağlamındadır. Customers dizisindeki her müşteriye atıfta bulunur ve “Ebony” ve “Chiho“ adlarını görüntüler. “Padma” görüntülenmez çünkü bu isim bu dizide yer almaz.

Öte yandan, <h1> bileşen sınıfındaki customer özelliğinin değerine bağlı olan “Padma” ifadesini görüntüler.

En iyi ifade uygulamaları #

Bir şablon ifade kullanırken, en iyi uygulamaları izleyin:

  • Kısa ifadeler kullanın

Mümkün olduğunca özellik adlarını veya yöntem çağrılarını kullanın. Uygulama ve iş mantığını bileşen içinde, geliştirme ve test için erişilebilir bir yerde tutun.

  • Hızlı uygulama

Angular, her değişiklik algılama döngüsünden sonra bir şablon ifadesi yürütür. Söz çözümleri, HTTP sonuçları, zamanlayıcı olayları, tuşa basma ve fare hareketleri gibi birçok eşzamansız etkinlik, değişiklik algılama döngülerini tetikler.

Bir ifade, özellikle yavaş cihazlarda kullanıcı deneyimini mümkün olduğunca verimli tutmak için hızlı bir şekilde bitirilmelidir. Hesaplamaları daha fazla kaynak gerektirdiğinde değerleri önbelleğe almayı düşünün.

Görünür yan etki yok #

Angular’ın tek yönlü veri akışı modeline göre, bir şablon ifadesi hedef özelliğin değeri dışında herhangi bir uygulama durumunu değiştirmemelidir. Bir bileşen değerinin okunması, görüntülenen başka bir değeri değiştirmemelidir. Görünüm, tek bir render geçişi boyunca sabit olmalıdır.

Bir  idempotent ifade yan etkilerden arındırılmıştır ve Angular’ın değişiklik algılama performansını artırır. Angular açısından, idempotent bir ifade, bağımlı değerlerinden biri değişene kadar her zaman tam olarak aynı şeyi döndürür.

Bağımlı değerler, olay döngüsünün tek bir dönüşü sırasında değişmemelidir. Bir idempotent ifade bir dize veya sayı döndürüyorsa, art arda iki kez çağırırsanız aynı dizeyi veya sayıyı döndürür. İfade, array de dahil olmak üzere bir nesne döndürüyorsa, art arda iki kez çağırırsanız aynı nesne başvurusunu döndürü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 15 March 2024
Template StatementsProperty Binding

Powered by BetterDocs

İçindekiler
  • Sözdizimi
  • İfade bağlamı
  • İsim çakışmalarını önleme
  • En iyi ifade uygulamaları
  • Görünür yan etki yok
Angular TR

Tüm hakları saklıdır