compassion 0.1.1 compassion: ^0.1.1 copied to clipboard
A simple pure dart shim to make named routes with arguments easier.
Compass #
A simple shim to make named routes with arguments easier.
How to use #
If you don't want to access the routes
at runtime #
- You only need to add
Compass
as the onGenerateRoute argument
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
onGenerateRoute: Compass({
"/": (c, a) => MyHomePage(title: a),
}),
);
}
}
If you want to access the routes
at runtime #
-
If you only use named routes, use
Compass.of(context).routes
-
If you use a mix of named and anonymous routes
- Create your
Compass
in an accessible scope, for example, as a member of your master widget - Add a
CompassProvider
as a parent of yourMaterialApp
- Provide your
Compass
to theCompassProvider
- Put your
MaterialApp
inside of theCompassProvider
- Set the
onGenerateRoute
parameter to yourCompass
class MyApp extends StatelessWidget { final compass = Compass({ "/": (c, a) => MyHomePage(title: a), }); @override Widget build(BuildContext context) { return CompassProvider( compass: compass, child: MaterialApp( onGenerateRoute: compass, home: MyHomePage(), ), ); } }
- Create your
Features #
- Accessible anywhere for modification
- Simple interface