flutter-全局监听路由

main.dart

 navigatorObservers: [
          MyApp.routeObserver,
          GLObserver(),//全局监听路由
        ],

router_listener.dart

class GLObserver extends NavigatorObserver {
// 添加导航监听后,跳转的时候需要使用Navigator.push路由
  @override
  void didPush(Route route, Route previousRoute) {
    super.didPush(route, previousRoute);

    var previousName = '';
    if (previousRoute == null) {
      previousName = 'null';
    }else {
      previousName = previousRoute.settings.name;
      print('NavObserverDidPush-Current:' + route.settings.name + '  Previous:' + previousName);
    }
  }

  @override
  void didPop(Route route, Route previousRoute) {
    super.didPop(route, previousRoute);

    var previousName = '';
    if (previousRoute == null) {
      previousName = 'null';
    }else {
      previousName = previousRoute.settings.name;
    }
    // print('NavObserverDidPop--Current:' + route.settings.name + '  Previous:' + previousName);
  }
}

 

posted @ 2020-12-16 13:19  mingV2020  阅读(1044)  评论(0编辑  收藏  举报