|
|
hace 7 años | |
|---|---|---|
| .vscode | hace 7 años | |
| example | hace 7 años | |
| lib | hace 7 años | |
| scripts | hace 8 años | |
| test | hace 7 años | |
| .gitignore | hace 8 años | |
| .travis.yml | hace 8 años | |
| CHANGELOG.md | hace 7 años | |
| LICENSE | hace 8 años | |
| README.md | hace 7 años | |
| pubspec.yaml | hace 7 años |
The brightest, hippest, coolest router for Flutter.
See CHANGELOG for all breaking (and non-breaking) changes.
You should ensure that you add the router as a dependency in your flutter project.
dependencies:
fluro: "^1.3.0"
You can also reference the git repo directly if you want:
dependencies:
fluro:
git: git://github.com/goposse/fluro.git
You should then run flutter packages upgrade or update your packages in IntelliJ.
There is a pretty sweet example project in the example folder. Check it out. Otherwise, keep reading to get up and running.
First, you should define a new Router object by initializing it as such:
final router = new Router();
It may be convenient for you to store the router globally/statically so that you can access the router in other areas in your application.
After instantiating the router, you will need to define your routes and your route handlers:
var usersHandler = new Handler(handlerFunc: (BuildContext context, Map<String, dynamic> params) {
return new UsersScreen(params["id"][0]);
});
void defineRoutes(Router router) {
router.define("/users/:id", handler: usersHandler);
}
In the above example, the router will intercept a route such as
/users/1234 and route the application to the UsersScreen passing
the value 1234 as a parameter to that screen.
You can use the Router with the MaterialApp.onGenerateRoute parameter
via the Router.generator function. To do so, pass the function reference to
the onGenerate parameter like: onGenerateRoute: router.generator.
You can then use Navigator.push and the flutter routing mechanism will match the routes
for you.
You can also manually push to a route yourself. To do so:
router.navigateTo(context, "/users/1234",
transition: TransitionType.fadeIn);