fluro_support
Quick to use Fluro
Getting Started
You should ensure that you add the router as a dependency in your flutter project.
dependencies: fluro_support: git: https://github.com/OSpoon/fluro_support.git 复制代码
Setting up
初始化 FSRoutes
import 'package:fluro_support/fluro_support.dart'; import 'package:fluro/fluro.dart'; //定义路由集合 List<FSBaseRouter> routes = [ModelRoutes()]; //构造函数中初始化 MyApp() { FSRoutes.init(Router(), routes); } return MaterialApp( //生成路由 onGenerateRoute: FSRoutes.generator(), ); 复制代码
构建 ModelRoutes
import 'package:fluro/fluro.dart'; import 'package:fluro_support/fluro_support.dart'; import 'package:flutter/material.dart'; class ModelRoutes extends FSBaseRouter { static String otherPage = "/other"; @override void initRouter(Router router) { router.define(otherPage, handler: Handler(handlerFunc: (BuildContext context, Map<String, List<String>> parameters) { print('${parameters['name']}'); print('${parameters['email']}'); print('${parameters['counter']}'); return OtherPage( name: parameters['name'][0], email: parameters['email'][0], counter: parameters['counter'][0], ); })); } } 复制代码
Navigating
打开新的页面
FSNavigate.push(context, LoginModelRouter.loginPage); 复制代码
打开新的页面(携带参数,接收返回)
FSNavigate.pushResult(context, '${ModelRoutes.otherPage}?name=${Uri.encodeComponent(name)}&email=${Uri.encodeComponent(email)}&counter=${Uri.encodeComponent(_counter.toString())}', (result) { setState(() { print('_MyHomePageState._incrementCounter :::${result}'); }); }); 复制代码
直接返回
FSNavigate.goBack(context); 复制代码
带参数返回
FSNavigate.goBackWithParams(context, "sanjin");