監聽到code ==403 使用eventBus 統一觸發。
遇到的問題是
Navigator.of(context).pushAndRemoveUntil( new MaterialPageRoute(builder: (context) => new loginPage() ), (route) => route == null);
這個方法只在當前頁面生效,我是放着首頁那塊 了首頁eventbus 觸發,但是頁面不跳轉
解決辦法是換一種不需要context 也能夠進行頁面跳轉的方法。
利用GlobalKey
1.創建全局方法。
class Router { static GlobalKey<NavigatorState> navigatorKey = GlobalKey(); }
2.在main.dart中的MaterialApp下設置navigatorKey
MaterialApp(
title: 'app_name', theme: kLightTheme, navigatorKey: Router.navigatorKey, //設置在這里
routes: {
'/LoginPage': (ctx) => loginPage(),'/MainPage': (ctx) => showPlatfrom(),
},
3.跳轉到登錄頁面
Router.navigatorKey.currentState.pushNamedAndRemoveUntil("/
LoginPage", ModalRoute.withName("/"))