Flutter GetX 插件 命名路由跳转笔记
Get.toNamed
打开新页面
A=>B [A]=>[A,B]
[GETX] GOING TO ROUTE /B
Flutter.B.initState()
[GETX] Instance "BLogic" has been created
[GETX] Instance "BLogic" has been initialized
Get.back
关闭当前页、并返回上页
A<=B [A,B]=>[A]
[GETX] CLOSE TO ROUTE /B
[GETX] "BLogic" onDelete() called
[GETX] "BLogic" deleted from memory
Flutter.B.dispose()
Get.offNamed
打开新页面、替换当前页
A=>B=>C [A,B]=>[A,C]
[GETX] REPLACE ROUTE /B
[GETX] NEW ROUTE /C
Flutter.C.initState()
[GETX] Instance "CLogic" has been created
[GETX] Instance "CLogic" has been initialized
Flutter.B.dispose()
[GETX] "BLogic" onDelete() called
[GETX] "BLogic" deleted from memory
Get.offAndToNamed
关闭当前页 打开新页面
A=>B=>C [A,B]=>[A,C]
[GETX] CLOSE TO ROUTE /B
[GETX] "BLogic" onDelete() called
[GETX] "BLogic" deleted from memory
[GETX] GOING TO ROUTE /C
Flutter.C.initState()
[GETX] Instance "CLogic" has been created
[GETX] Instance "CLogic" has been initialized
Flutter.B.dispose()
Get.offAllNamed
打开新页面、倒序清空路由
A1=>B=>C ——> A2 [A1,B,C]=>[A2]
[GETX] GOING TO ROUTE /A2
[GETX] REMOVING ROUTE /C
[GETX] REMOVING ROUTE /B
[GETX] REMOVING ROUTE /A1
Flutter.A2.initState()
[GETX] Instance "A2Logic" has been created
[GETX] Instance "A2Logic" has been initialized
Flutter.B.dispose()
Flutter.A1.dispose()
Flutter.C.dispose()
[GETX] "A1Logic" onDelete() called
[GETX] "A1Logic" deleted from memory
[GETX] "BLogic" onDelete() called
[GETX] "BLogic" deleted from memory
[GETX] "CLogic" onDelete() called
[GETX] "CLogic" deleted from memory
Get.offNamedUntil
打开新页面、插入指定路由位置后方,原后方其它页面被清除
A=>B1=>C -->B2 s=A [A,B1,C]=>[A,B2]
[GETX] GOING TO ROUTE /B2
[GETX] REMOVING ROUTE /C
[GETX] REMOVING ROUTE /B1
Flutter.B2.initState()
[GETX] Instance "B2Logic" has been created
[GETX] Instance "B2Logic" has been initialized
Flutter.B1.dispose()
Flutter.C.dispose()
[GETX] "BLogic" onDelete() called
[GETX] "BLogic" deleted from memory
[GETX] "CLogic" onDelete() called
[GETX] "CLogic" deleted from memory
A=>B1=>C --B2 s=B1 [A,B1,C]=>[A,B1,B2]
[GETX] GOING TO ROUTE /B2
[GETX] REMOVING ROUTE /C
Flutter.B2.initState()
Flutter.C.dispose()
[GETX] "CLogic" onDelete() called
[GETX] "CLogic" deleted from memory
Get.until
查找并跳转已打开页面、不符合条件将被删除
A=>B=>C ——>A [A,B,C]=>[A]
[GETX] CLOSE TO ROUTE /C
[GETX] "CLogic" onDelete() called
[GETX] "CLogic" deleted from memory
[GETX] CLOSE TO ROUTE /B
[GETX] "BLogic" onDelete() called
[GETX] "BLogic" deleted from memory
Flutter.C.dispose()
Flutter.B.dispose()
/// Get.until((Route r){
/// return r.settings.name == "/wardSelectPage"; // 返回指定页面
/// return r.isFirst; // 回到第一个页面
/// });