# router_flutter **Repository Path**: JEFT-hai/router_flutter ## Basic Information - **Project Name**: router_flutter - **Description**: 基于fluro搭建APP路由架构 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-09-15 - **Last Updated**: 2021-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: Flutter, Route ## README # router_flutter #### 介绍 基于fluro搭建APP路由架构 #### 功能 1. route_link - 简单封装跳转路由方法 2. route_observer - 路由监听,需要再main.dart中定义 3. route_change - 监听路由变化,配合route_observer,在需要的widget中使用 4. routes - 路由表定义 5. route_handlers - 路由方法定义,定义参数 6. application - 路由汇总,需要再main.dart中初始化 #### route_observer[输入链接说明](http://laomengit.com/guide/navigator/RouteObserver.html) ##### 初始化 ``` void main() { runApp(MyApp()); } RouteObserver routeObserver = RouteObserver(); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( ... navigatorObservers: [routeObserver], home: HomePage(), ); } } ``` ##### route_change ###### 在widget中监听路由变化 ``` @override void initState() { super.initState(); RouteChange.getInstance().addListener(_listener); RouteChange.getInstance().addNavListener(_navListener); RouteChange.getInstance().addTabListener(_tabListener); } @override void dispose() { RouteChange.getInstance().removeListener(_listener); RouteChange.getInstance().removeNavListener(_navListener); RouteChange.getInstance().removeTabListener(_tabListener); super.dispose(); } ``` #### application/routes/route_handlers 改自fluro官方Example