Flutter GetX 路由历史记录

Mik*_*ink 5 flutter flutter-get

我可以使用 GetX 查看导航器堆栈吗?我查看了文档,但找不到有关此主题的任何内容。我通常会关闭这样的对话框

Get.until((route) => !Get.isDialogOpen);
Run Code Online (Sandbox Code Playgroud)

但我想知道如果特定页面的实例位于路由历史记录中,我是否可以关闭路由,如下所示

  Get.until((route) => !Get.routingHistory.contains('/someRoute'));
Run Code Online (Sandbox Code Playgroud)

请注意,这不是有效的语法。

小智 11

获取直到 \n删除屏幕,直到满足条件。\n\xe2\x80\x99s 与 Navigation.popUntil() 相同。\n可以像 Get.until((route) => Get.currentRoute == '/家')。

\n

离开命名 \n通过Named路由,删除当前屏幕并添加新屏幕。\n它\xe2\x80\x99s与Navigation.pushReplacementNamed()相同。\n你可以像Get.offNamed('/second'一样使用它)。

\n

Get.offAndToNamed \n通过命名路由,添加一个新屏幕,然后删除之前的屏幕。\n它\xe2\x80\x99s与Navigation.popAndPushNamed()相同。\n你可以像Get.offAndToNamed('/第二')。

\n

下车直至 \n删除屏幕直到满足条件,然后添加新屏幕。\n它\xe2\x80\x99s与Navigation.pushAndRemoveUntil()相同。\n你可以像Get.offUntil(page, (route ) => (路由为 GetPageRoute).routeName == '/home')。

\n

Get.offNamedUntil \n通过命名路由,删除屏幕,直到满足条件,然后添加新屏幕。\n它\xe2\x80\x99s与Navigation.pushNamedAndRemoveUntil()相同。\n你可以像Get.offNamedUntil一样使用它(页面,ModalRoute.withName('/home'))。

\n

请根据您的用途使用

\n


小智 6

您需要使用:

Get.offUntil(page, (route) => false)
Run Code Online (Sandbox Code Playgroud)

page 表示要导航的新页面。

(route) => false
Run Code Online (Sandbox Code Playgroud)

是条件。


小智 2

如果你想继续关闭路由直到到达页面路由......

Navigator.of(context).popUntil(ModalRoute.withName('/route-name'));
Run Code Online (Sandbox Code Playgroud)