router_flutter

181 阅读1分钟

地址

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输入链接说明

初始化
void main() {
  runApp(MyApp());
}

RouteObserver<PageRoute> routeObserver = RouteObserver<PageRoute>();

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