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