一、添加依賴app
dependencies: fluro: "^1.4.0"
二、main.dart中引入ui
import 'package:fluro/fluro.dart';
三、對每一個路由的獨立配置,即編寫handler,如要傳遞參數,參數的值是什麼,這些都須要在 Handler 中完成code
(1)新建一個routers文件夾,而後新建router_handler.dart文件router
import 'package:flutter/material.dart'; import 'package:fluro/fluro.dart'; import '../pages/details_page.dart'; Handler detailsHanderl =Handler( handlerFunc: (BuildContext context,Map<String,List<String>> params){ String goodsId = params['id'].first; return DetailsPage(goodsId); } );
四、對路由整體的配置,新建一個routes.dartci
import 'package:flutter/material.dart'; import './router_handler.dart'; import 'package:fluro/fluro.dart'; class Routes{ static String root='/'; static String detailsPage = '/detail'; static void configureRoutes(Router router){ router.notFoundHandler= new Handler( handlerFunc: (BuildContext context,Map<String,List<String>> params){ print('ERROR====>ROUTE WAS NOT FONUND!!!'); } ); router.define(detailsPage,handler:detailsHandler); } }
五、把 Fluro 的 Router 靜態化路由
import 'package:fluro/fluro.dart'; class Application{ static Router router; }
六、在main.dart文件裏進行全局注入generator
import './routers/routes.dart'; import './routers/application.dart'; build裏寫以下代碼 final router = Router(); Routes.configureRoutes(router); Application.router=router; Container裏寫以下代碼 onGenerateRoute: Application.router.generator,
七、使用io
import './routers/application.dart'; Application.router.navigateTo(context,"/detail?id=${val['goodsId']}");