Flutter 路由跳转 fluro
地址:https://pub.flutter-io.cn/packages/fluro
dependencies:
fluro: ^2.0.4
Routes管理类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | import 'package:common_lib/fluro/router_handler.dart' ; import 'package:fluro/fluro.dart' ; /** * 路由管理 */ class Routes { // static Router router; // 根路径 static String root = "/" ; // 设置页面 static String settings = "/setting" ; // 网页加载 static String webView = "/webView" ; // 配置route static void configureRoutes(FluroRouter router) { // 未发现对应route 处理 router.notFoundHandler = RouterHandler.notFoundHandler; // router.define(root, handler: handler) router.define(settings, handler: RouterHandler.settingHandler); router.define(webView, handler: RouterHandler.webViewHandler); } } |
handler管理类 router_handler
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | import 'package:common_lib/pages/NotFoundPage.dart' ; import 'package:common_lib/pages/home_page.dart' ; import 'package:common_lib/pages/setting_page.dart' ; import 'package:common_lib/pages/webview_page.dart' ; import 'package:fluro/fluro.dart' ; class RouterHandler { // 根路径 static var rootHandler = Handler(handlerFunc: (context,params) { return HomePage(); }); // 页面不存在 static var notFoundHandler = Handler(handlerFunc: (context,params) { return NotFoundPage(); }); // 设置页面 不带参数 static var settingHandler = Handler(handlerFunc: (context,params) { return SettingPage(); }); // 网页加载带参数 -示例:传多个字符串参数 static var webViewHandler = Handler(handlerFunc: (context,params) { // params 内容为 {title: [我是标题哈哈哈],url: [https://www.baidu.com]} String? titleStr = params[ 'title' ]?.first; String? urlStr = params[ 'url' ]?.first; return WebViewPage(title: "$titleStr" , url: "$urlStr" ); }); } |
配置router
1 2 3 4 5 6 | MyApp() { // 注册初始化fluro final router = Router(); Routers.configureRoutes(router); Routers.router = router; } |
跳转
1 2 3 4 5 6 7 8 | //对象需要转String String itemDataJson = FluroConvertUtils.object2string( _bulletinsList[index]); Routers.navigateTo(context, Routers.messageDetailPage, params: { 'bar_title' : "Detail" , 'item_data' : itemDataJson, }); |
分类:
Flutter
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】