Angular Programlama

Angular’da Routing İşlemleri

Yazar İlayda

Angular’da routing işlemleri, iki temel bileşen üzerine inşa edilir: Router ve RouterOutlet. Router, uygulamanızdaki URL’leri yönetirken, RouterOutlet, uygulamanızın bileşenlerini belirtilen yol üzerinde eşleştirir.

Routing işlemlerini başlatmak için öncelikle, uygulama modülünüze RouterModule’yu eklemeniz gerekir. RouterModule, uygulamanızın Router’ı kullanabilmesi için gerekli olan önemli bileşenleri içerir.

Routes adlı bir dizi oluşturmanız gerekiyor. Bu dizi, uygulamanızda hangi URL’lerin hangi bileşenlerle eşleştirileceğini belirtir. Örneğin:

Yukarıdaki örnekte, routes dizisi beş rotaya sahiptir. Path özelliği, URL’nin sonunda ne olacağını belirtirken, component özelliği, bu URL’ye gidildiğinde gösterilecek bileşeni belirtir.

  • ‘/’ path’i, HomeComponent bileşeniyle eşleştirilir ve anasayfa olarak kullanılır.
  • ‘/products’ path’i, ProductsComponent bileşeniyle eşleştirilir ve ürünlerin listelendiği bir sayfa olarak kullanılır.
  • ‘/products/:id’ path’i, ProductDetailsComponent bileşeniyle eşleştirilir ve bir ürünün ayrıntılarını gösteren bir sayfa olarak kullanılır.
  • ‘/about’ path’i, AboutComponent bileşeniyle eşleştirilir ve hakkımızda sayfası olarak kullanılır.
  • ‘**’ path’i, PageNotFoundComponent bileşeniyle eşleştirilir ve hiçbir yolun eşleşmediği durumlarda kullanılır.

Routes dizisi tamamlandıktan sonra, uygulamanızda RouterOutlet bileşenini kullanarak rotalarınızı belirtilen bileşenlere yönlendirebilirsiniz. RouterOutlet, bir bileşenin içinde belirli bir yere yerleştirilir ve belirli bir URL için belirtilen bileşenin yüklenmesini sağlar.

Yukarıdaki kod, RouterOutlet bileşeninin uygulamanızdaki yerini belirler. Bu bileşen, uygulamanızdaki diğer bileşenlerle birlikte kullanılabilir.

RouteLink bileşeni, uygulamanızdaki farklı sayfalar arasında geçiş yapmanızı sağlar. Bu bileşen, routerLink özelliği kullanılarak belirtilen URL’ye yönlendirir.
Yukarıdaki kod, RouterLink bileşeninin nasıl kullanılacağına dair basit bir örnektir. routerLinkActive özelliği, mevcut URL’nin ilgili bağlantıyla eşleştiğinde hangi sınıfların uygulanacağını belirtir.

Route parametreleri, özel URL’lerle çalışmanıza olanak tanır. Bu parametreler, URL’nin sonundaki verileri yakalamanıza ve ilgili bileşene aktarmanıza olanak tanır. Örneğin:

Yukarıdaki rotada, ‘:id’ parametresi, URL’nin sonunda bir sayı alır ve ProductDetailsComponent bileşenine aktarılır.

Yukarıdaki kod, URL’nin sonundaki ‘:id’ parametresini ‘1’ olarak ayarlar ve ProductDetailsComponent bileşeninde kullanılır.

CanActivate arayüzü, belirli sayfaların erişimini sınırlamanıza olanak tanır. Örneğin, kullanıcıların yalnızca giriş yaptıktan sonra ürün ekleme sayfasına erişmesine izin verebilirsiniz. CanActivate arayüzü, kullanıcı erişiminin engellenmesi durumunda yapılacak eylemleri belirlemenize olanak tanır.

Yukarıdaki kod, CanActivate arayüzünü ve bir örnek AuthGuard sınıfını gösterir. Bu sınıf, kullanıcının giriş yapmış olup olmadığını kontrol eder ve giriş yapmamış kullanıcılara belirtilen sayfaya erişimi engeller.