Angular Bileşenler (Components) ve Bileşen İlişkileri

Angular, bileşen tabanlı bir çerçevedir. Uygulamanızın her bir parçası, ekranın farklı bölümlerini temsil eden bileşenlerden oluşur. Bu yazıda, bileşenlerin nasıl çalıştığına, nasıl oluşturulduğuna ve birbiriyle nasıl iletişim kurduğuna göz atacağız.

Bileşen (Component) Nedir?

Bileşenler, Angular uygulamalarının temel yapı taşlarıdır. Bir bileşen, uygulamanızın bir parçasını (örneğin bir düğme, bir form, bir menü) temsil eden bir TypeScript sınıfıdır. Bu sınıf, şablon (HTML) ve stil (CSS) ile birlikte çalışarak kullanıcı arayüzünü oluşturur.

Bileşen Oluşturma

Angular CLI, yeni bileşenler oluşturmak için kolay bir yol sunar:

Bu komut, bileşeniniz için gerekli dosyaları otomatik olarak oluşturur: TypeScript (.ts), HTML (.html) ve CSS (.css) dosyaları.

Örnek olarak, bir “user” bileşeni oluşturduğunuzda:

  • user.component.ts
  • user.component.html
  • user.component.css

dosyaları oluşturulur.

Bileşenin Yapısı

Bir bileşenin temel yapısı şu şekildedir:

selector: Bileşenin HTML’de nasıl kullanılacağını belirtir. Bu örnekte, <app-user></app-user> şeklinde kullanılır.

templateUrl: Bileşenin HTML şablon dosyasını belirtir.

styleUrls: Bileşenin stil dosyalarını belirtir. Birden fazla stil dosyası da belirtilebilir.

Bileşen İlişkileri

Bir Angular uygulaması, genellikle birçok bileşenden oluşur. Bu bileşenler arasında hiyerarşik bir ilişki bulunur. Örneğin, ana bir bileşeninizin içinde başka bileşenler olabilir. Bu alt bileşenler, ana bileşenle veya diğer alt bileşenlerle veri paylaşabilir.

Veri aktarımı, genellikle iki yöntemle gerçekleşir:

  1. Input: Parent bileşenden child bileşene veri göndermek için kullanılır.
  2. Output ve EventEmitter: Child bileşenden parent bileşene bir olay veya veri göndermek için kullanılır.

1. Parent’tan Child’a Veri Aktarma (@Input)

Parent bileşeninden child bileşene veri aktarmak için @Input dekoratörü kullanılır.

Örnek:

Parent Bileşen (app-parent.component.ts):

Child Bileşen (app-child.component.ts):

[childProp]=”parentData” ifadesiyle Parent bileşenindeki parentData değişkeni, Child bileşenindeki childProp özelliğine bağlanır.

2. Child’dan Parent’a Olay Aktarma (@Output ve EventEmitter)

Child bileşeninden Parent bileşene bir olay göndermek için @Output dekoratörü ve EventEmitter kullanılır.

Child Bileşen:

Parent Bileşen:

Child bileşeninde bir butona tıklandığında sendEvent metodu çalışır ve bir olay yayar. Parent bileşen, bu olayı dinler ve receiveMessage metodu ile gelen veriyi işler.

Son olarak farklı bir konuya daha değinmek istiyorum.

3. Child Bileşeninden Parent’a Metod Çağırma (ViewChild)

Bazen bir Parent bileşenin metodunu doğrudan Child bileşeninden çağırmak isteyebilirsiniz. Bu, ViewChild dekoratörü ile gerçekleştirilir.

Parent Bileşen:

Child Bileşen:

Parent bileşenindeki butona tıklandığında, doğrudan Child bileşenindeki childMethod çağrılır.

Angular’da bileşenler, uygulamanızın temelini oluşturur. Bileşenlerle çalışırken, onların nasıl birbiriyle etkileşimde bulunduğunu ve nasıl organize edildiğini göz önünde bulundurarak karmaşık uygulamalar geliştirebilirsiniz.

Umarım “Angular Bileşenler (Components) ve Bileşen İlişkileri” başlıklı yazım sizin için faydalı olmuştur.

Şu yazılar da ilginizi çekebilir.

Angular Data Binding: Tek Yönlü ve Çift Yönlü Veri Bağlama

Yeni bir yazımda görüşmek üzere.

Happy coding!

Yorum Yazın