Bloğa geri dön

Angular Router'da RouterLink, Navigate ve NavigateByUrl ile Gezinme

Angular Router'da RouterLink, Navigate ve NavigateByUrl ile Gezinme

Giriş

Angular uygulamaları bugünlerde oldukça yaygındır. Bu uygulamalar, Tek Sayfalı Uygulamalar (SPA) konseptiyle oluşturulur. Bu tür uygulamalarda, bileşenler kullanıldığı için web sayfaları arasında yönlendirme geleneksel web sitelerinden farklıdır. Angular'da, uygulama genelinde yönlendirme yapmak için RouterLink kullanmanız gerekir. RouterLink bir direktiftir ve bileşen sınıfları arasında gezinmek için Router.navigate ve Router.navigateByURL yöntemlerini sunar.

Bu eğitimde, şunları inceleyeceğiz: RouterLink, Router.navigate, ve Router.navigateByURL kod örnekleriyle birlikte.

RouterLink

HTML'de bir bağlantı normalde aşağıdaki gibi bir çapa (anchor) etiketi kullanılarak eklenir: <a> :

Bu örnek bağlantı, kullanıcıyı /sample sayfasına yönlendirecektir. Ancak yukarıda belirtildiği gibi, Tek Sayfalı bir uygulamanın (SPA) bağlantı verilecek farklı sayfaları yoktur. Bunun yerine, kullanıcıya gösterilecek farklı görünümleri veya bileşenleri vardır.

Bir kullanıcının gezinmesine ve görünümü değiştirmesine izin vermeniz gerekiyorsa, RouterLink direktifini kullanmanız gerekir: href:

Bu RouterLink örneği, kullanıcıyı /users/example adresindeki bileşene yönlendirecektir. Farklı URL segmentleri, aşağıdaki örnekte olduğu gibi bir dizi içinde de aktarılabilir:

Bu iki örnek farklı şekilde biçimlendirilmiştir, ancak yine de şu adresteki aynı bileşene yönlendirilecektir: /users/example.

  • Göreceli Yol

RouterLink, göreceli URL'lerin belirtilmesine olanak tanır. Daha yüksek yönlendirme seviyelerine çıkmak için ../ kullanabiliriz. Bunu nasıl yapabileceğimiz aşağıda gösterilmiştir:

Yukarıdaki örnekte, kullanıcı /users/posts konumundaysa, yönlendirme kullanıcıyı /posts/parent konumuna götürecektir. URL'leri ./, ../ kullanarak göreceli olarak veya gerekirse başında eğik çizgi olmadan da belirtebilirsiniz.

  • Parametreler

Rotalar arasında veri aktarmanız gereken senaryolar olabilir. Basit bir örnek, kullanıcının formu doldurması ve daha fazla ayrıntı için onu formun bir sonraki bölümüne götürmenizdir.

Parametreleri aktarmak için, verileri kapsülleyen bir nesne URL segmentleri listesinde iletilir:

Yukarıda, Router şu adrese yönlendirecektir: /users;display=sample/xyz.

  • Adlandırılmış Outlet'ler

Adlandırılmış router outlet'leri, basitçe adları olan router outlet'leridir. Bunun için koda bakalım:

Bu örnekte, xyz segmenti side adındaki outlet'e yerleştirilecektir. Aşağıdaki gibi birden fazla adlandırılmış outlet de belirtebiliriz:

Bu, first segmentini abc ile değiştirecek ve second segmentini ise şu değerle değiştirecektir: xyz.

Router

Angular'da, Router sınıfı, rotaları tanımlamak ve bunlar arasında gezinmek için kullanılır. Bu, iki yöntemle gerçekleştirilir: Router.navigate ve Router.navigateByUrl. Bu yöntemlerin her ikisi de bir promise döndürür. Bu promise üç değere sahip olabilir: true, false, veya null.

  • Değer, true olduğunda gezinme başarılıdır.

  • Değer, null olduğunda gezinme yoktur.

  • Ve false eğer herhangi bir nedenle gezinme başarısız olursa.

Bu yöntemlerin uygulamanızda kullanılabilir olmasını istiyorsanız, öncelikle Router sınıfını bileşen sınıfınıza içe aktarmanız gerekir:

Ardından, bu Router nesnesini yapıcıya (constructor) bağımlılıklar arasına enjekte etmeniz gerekir:

Bu kurulumla, uygulamanızda Router.navigate ve Router.navigateByUrl yöntemlerini kullanmaya hazırsınız.

Router.navigate

The Router.navigate yöntemi bir URL segmentleri dizisi kabul eder. Temel bir Router.navigate kodu örneğine bakalım:

Router.navigateByUrl

Son olarak, Router.navigateByUrl yöntemine bakalım. Bu yöntem, Router.navigate yöntemine benzer ancak URL segmentlerini kabul etmek yerine, URL'yi belirten bir dize kabul eder. Bu gezinmenin mutlak olması ve başında / başlangıcında olmalıdır:

Yukarıdaki kod, kullanıcıyı /users;all=true sayfasına yönlendirecektir.

Sonuç

Bu eğitimde, RouterLink kullanarak Angular uygulamalarında nasıl gezinileceğine baktık. Angular uygulamalarında yönlendirme (routing), Tek Sayfalı (Single-Page) olmaları nedeniyle geleneksel web uygulamalarından biraz farklıdır. RouterLink'i ve işlevlerini bilmek, geliştiricilerin sağlam yönlendirmeler oluşturmasına yardımcı olabilir.

Angular uygulamaları, çalışma zamanı olarak Node.js kullanır. Node.js hakkında daha fazla bilgi edinmek ve Node.js uygulamalarını nasıl dağıtacağınızı öğrenmek istiyorsanız, aşağıdaki eğitimlere göz atabilirsiniz:

Keyifli Kodlamalar!

author

Hark Labs

Yazar · CloudSigma

Preslav Dobrev, CloudSigma'da Kreatif Tasarımcı olarak görev yapmakta olup geleneksel ve yenilikçi pazarlama kanallarını kullanarak tutarlı bir kurumsal kimlik oluşturmaya odaklanmaktadır. Sanatsal vizyonu stratejik pazarlamayla harmanlayarak etkili marka anlatıları oluşturma konusunda oldukça yeteneklidir.

Yorumlar

Henüz yorum yapılmamış. İlk siz olun.