Flutter Getx 路由

普通路由导航

  1. 跳转到NextScreen
Get.to(() => NextScreen());           这个过期了: Get.to(NextScreen());    前面的写法,Controller会随着page一些从内存移除,过期的写法就不行。
  1. 关闭SnackBars、Dialogs、BottomSheets或任何你通常会用Navigator.pop(context)关闭的东西。
Get.back();
  1. 关闭本页,并进入NextScreen。按返回不会回到本页了。(用于SplashScreens,登录页面等)。
Get.off(NextScreen());
  1. 关闭之前的所有页面,然后进入NextScreen(在购物车、投票和测试中很有用)。
Get.offAll(NextScreen());
  1. 回退页面,直到RootPage。 停留在RootPage页面。
    util里面的内容,为true就停止。
    下面表示判断当前路由是否是RootPage,如果是就停止。
    RootPage并不是命名路由,并不需要提前命名。这个只是判断当前页面的名字,是否叫做: “/RootPage”
Get.until((route) => (route as GetPageRoute).routeName == '/RootPage');
  1. 回退页面,直到IndexPage,然后跳转GifPage。
    注意,这里有个超级大坑:一般我们用这个是期望回退到主页,然后跳转到某个页面。但是如果在app里面,直接跳转的IndexPage,那么始终实现不了这样的功能,一直报错。看情况是,route里面,并没有IndexPage这个,而是 / ,但是直接用 / ,也无法判断。所以,需要在app的home,也就是第一个页面,搞个闪屏。这样就有IndexPage这个路由,就可以回退到这里。
    在这里插入图片描述
Get.offUntil(GetPageRoute(page: () => const GifPage()),(route) => (route as GetPageRoute).routeName == '/IndexPage');

你可能感兴趣的:(flutter,flutter)