路由跳转方式
Get.to(conponent()) // 普通路由
Get.toNamed("/path") // 命名路由跳转
Get.toNamed("/Path",arguments:{"key":"value"}) // 命名路由传参, 页面可以直接通过 Get.argument获取参数
Get.back() // 返回上一级
Get.offAll(const Tabs(index:4)) // 返回跟页面
Get.off(Component()) // 关闭当前页面,进入下一页
配置路由动画
在 main.dart
文件中
GetMaterialApp(
defaultTransition:Transition.rightToLeft,
initialRoute:"/",
getpages:[
GetPage(name:'/',page:()=>const Component())
]
)
路由中间件 (路由守卫)
创建 isLogin.dart
import 'package:flutter/cupertino.dart';
import 'package:get/get.dart';
class IsLogin extends GetMiddleware {
@override
RouteSettings redirect(String ? route){
return const RouteSettings(name: '/login'); // 重定向到login页面
return null; // 进入当前路由
}
}
配置 路由
import "isLogin.dart";
getPages:[
getPage(name:"/",page:()=>const Components(),middlewares:[IsLogin()])
]