Named routes (isimlendirilmiş rotalar), uygulamanızdaki herhangi bir sayfaya erişmek için kullanabileceğiniz bir yoldur.
Rotaları tanımlamak için GetMaterialApp kullanın:
void main() { runApp( GetMaterialApp( unknownRoute: GetPage(name: '/notfound', page: () => UnknownRoutePage()), initialRoute: '/', getPages: [ GetPage(name: '/', page: () => MyHomePage()), GetPage(name: '/second', page: () => Second()), ], ) ); }
Şimdi sayfalar arasında geçmek için Get.toNamed() metodunu kullanabilirsiniz.
Get.toNamed('/second');
İsterseniz, named routes’ları parametrelerle de kullanabilirsiniz.
void main() { runApp( GetMaterialApp( unknownRoute: GetPage(name: '/notfound', page: () => UnknownRoutePage()), initialRoute: '/', getPages: [ GetPage(name: '/', page: () => MyHomePage()), GetPage(name: '/second', page: () => Second()), GetPage(name: '/third/:id', page: () => ThirdPage()), ], ) ); }
Bu kodda ‘/third/:id’ rotası, id parametresi ile ThirdPage widget’ına yönlendirme yapar. Bu parametreyi Get.toNamed() metodunda kullanabilirsiniz:
Get.toNamed('/third/123');
id parametresini ThirdPage widget’ı içerisinde karşılamak için:
Get.parameters['id']
İsimlendirilmiş Rotalara Veri Gönderimi
Argümanlar için istediğinizi göndermeniz yeterli. Get, burada bir Map, List ve hatta bir sınıf örneği olan her şeyi kabul eder.
Get.toNamed("/second", arguments: 'Get is the best');
print(Get.arguments);
Dinamik URL Linkleri
Tıpkı Web’deki gibi gelişmiş dinamik url’ler sunun.
Get.offAllNamed("/second?device=phone&id=1&name=Taner");
print(Get.parameters['id']); // out: 1 print(Get.parameters['name']); // out: Taner
veya:
var parameters = <String, String>{"flag": "true","country": "turkiye",}; Get.toNamed("/third/1", parameters: parameters);
print(Get.parameters['id']); print(Get.parameters['flag']); print(Get.parameters['country']);