V Flutterju Navigator je zmogljivo orodje za upravljanje centraliziranega stanja in navigacije po straneh v vaši aplikaciji. Omogoča ustvarjanje aplikacij z jasno arhitekturo in enostavno navigacijo med zasloni.
Definiranje Routes
Če želite začeti uporabljati Navigator, morate routes v aplikaciji definirati. Routes so posamezni zasloni, do katerih se lahko pomaknejo uporabniki. Definirate lahko routes z uporabo MaterialApp in zagotovite zbirko routes, kjer route je vsak preslikan v Widget.
primer:
MaterialApp(
initialRoute: '/',
routes: {
'/':(context) => HomePage(),
'/second':(context) => SecondPage(),
},
)
V zgornjem primeru smo definirali dve routes: '/'(home page)
in '/second'(second page
). Dodate jih lahko poljubno routes.
Krmarjenje med stranmi
Za krmarjenje med stranmi lahko uporabite Navigator metode. Ena pogosta metoda je pushNamed, ki vam omogoča, da se pomaknete na drugo stran tako, da vnesete ime te route.
primer:
// Navigate to the second page
Navigator.pushNamed(context, '/second');
Poleg tega lahko uporabite potisno metodo za navigacijo na drugo route in preklapljanje med stranmi.
Prenos podatkov med stranmi
Podatke lahko posredujete med stranmi z uporabo metode pushNamed s parametrom argumentov.
primer:
Navigator.pushNamed(
context,
'/second',
arguments: 'Data from the home page',
);
Nato lahko dostopate do podatkov z druge strani z uporabo ModalRoute.of in objektov nastavitev:
class SecondPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
String data = ModalRoute.of(context).settings.arguments;
// Use the data here
}
}
Nazaj na prejšnjo stran
Če se želite vrniti na prejšnjo stran, lahko uporabite pop metodo Navigator. To bo zaprlo trenutno stran in se vrnilo na prejšnjo stran v skladu.
primer:
// Go back to the previous page
Navigator.pop(context);
Zaključek
Navigator v Flutterju vam omogoča upravljanje centraliziranega stanja in enostavno krmarjenje med stranmi. Z uporabo Navigator lahko ustvarite aplikacije z jasno arhitekturo in zagotovite boljšo uporabniško izkušnjo pri krmarjenju med zasloni.