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);
  }
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM