Flutter GetX 之 路由管理
路由管理是插件GetX常用功能之一,为什么说之一呢?因为GetX的功能远不止路由管理这么简单。
GetX的重要功能如下:
1、路由管理 | 2、状态管理 | 3、国际化 | 4、主题 | 5、GetUtil工具 | 6、dialog 弹框 | 7、snackbar |
其实上面功能介绍的还是不够详细,GetX还支持网络请求等
今天主要介绍一下GetX的路由管理
首先需要将Flutter项目入口MaterialApp替换成GetX提供的GetMaterialApp,代码示例如下:
旧
return MaterialApp(home: MyHomePage(),
);
新
return GetMaterialApp(home: MyHomePage(),
);
接下来就是创建路由管理类 router_util.dart,这个类负责统一把所有页面进行路由设置,GetX设置路由代码如下:
GetPage(name: "/login", page: () => LoginPage()),
GetPage 便是设置一个类的路由
"/login" 为使用过程中的Key,page: 为指向的页面。
下面是路由管理类的完整代码
import 'package:get/get.dart';import '../view/login/forget/forget_view.dart';
import '../view/login/login_view.dart';
import '../view/login/register/register_view.dart';
import '../view/main/tab_bar/tab_bar_view.dart';List<GetPage> get pages => [GetPage(name: "/login", page: () => LoginPage()),GetPage(name: "/tabbar", page: () => TabBarPage()),GetPage(name: "/register", page: () => RegisterPage()),GetPage(name: "/password", page: () => ForgetPage()),];
我们将路由管理设置完以后,下面就是路由注入了,注入代码简单,便是将pages放入到的getPages中即可。当然当我们使用路由管理后,我们需要设置一下程序入口initialRoute,完整代码如下:
return GetMaterialApp(getPages: pages,initialRoute: "/login",
);
到此就完成了路由管理的配置,下面介绍一下路由的使用,推荐使用别名路由。
普通路由
页面跳转
Get.to(RegisterPage());
带参数
Get.to(RegisterPage(),arguments: "范型");
arguments 未范型,什么类型都可以
参数获取
dynamic arguments = Get.arguments;
off: 进入下一个界面,且导航没有返回
Get.off(RegisterPage());
offAll: 进入下一个界面并取消之前的所有路由
Get.offAll(RegisterPage());
back: 返回
Get.back();
返回时带参数
Get.back(result: '返回参数');
result: 也为范型,可为任何类型
获取参数
var result = await Get.to(RegisterPage());
别名路由
使用方法与普通路由基本相同,只是方法上多了 Named
路由跳转
Get.toNamed("/register");
带参数
Get.toNamed("/register",arguments: "范型");
也可以想Vue里面的方式进行跳转和传参(不推荐,使用不方便)
Get.toNamed("/register?id=1&name=王哪跑");
获取参数和普通路由一致
使用Vue方式传参获取参数方式如下
Get.parameters['id']
进入下一个界面并取消之前的所有路由
Get.offAllNamed("/tabbar");
返回和返回带参数使用方式与普通路由保持一致。
到此就完成了GetX路由管理的使用。
GetX功能很强大,路由管理是比较常用的功能。
GetX后续功能将会持续介绍使用,下一片文章会介绍一下GetX状态管理
相关文章:
Flutter GetX 之 路由管理
路由管理是插件GetX常用功能之一,为什么说之一呢?因为GetX的功能远不止路由管理这么简单。 GetX的重要功能如下: 1、路由管理2、状态管理3、国际化4、主题5、GetUtil工具6、dialog 弹框7、snackbar 其实上面功能介绍的还是不够详细ÿ…...
基于单片机的农田灌溉系统(论文+源码)
1.系统设计 本系统主要实现如下目标: 1.可以实时监测土壤湿度; 2.土壤湿度太低时,进行浇水操作; 3.可以按键设置湿度的触发阈值; 4. 可以实现远程操控 5.可以实现手…...
分布式缓存 -- 基础
负载均衡 Ribbon 服务间通信的负载均衡工具,提供完善的超时重试机制 客户端的负载均衡器:在客户端将各个服务的信息拿到,在客户端本地做到请求的均衡分配 Ribbon 提供 LoadBalanced 注解,外搭配RestTemplate来做客户端的负载均衡…...
云计算复习笔记--期末
1、云计算的定义和本质: 云计算是一种按使用量付费的模式。云计算是分布式计算的一种。通过计算机网络(多指因特网)形成的计算能力极强的系统,可存储、集合相关资源并可按需配置,向用户提供个性化服务。 2、云计算服…...
【WPF.NET开发】WPF中的焦点
本文内容 键盘焦点逻辑焦点键盘导航以编程方式导航焦点焦点事件 在 WPF 中,有两个与焦点有关的主要概念:键盘焦点和逻辑焦点。 键盘焦点指接收键盘输入的元素,而逻辑焦点指焦点范围中具有焦点的元素。 本概述详细介绍了这些概念。 对于创建…...
【计算机设计大赛作品】豆瓣电影数据挖掘可视化—信息可视化赛道获奖项目深入剖析【可视化项目案例-22】
文章目录 一.【计算机设计大赛作品】豆瓣电影数据挖掘可视化—信息可视化赛道获奖项目深入剖析【可视化项目案例-22】1.1 项目主题:豆瓣电影二.代码剖析2.1 项目效果展示2.2 服务端代码剖析2.3 数据分析2.4 数据评分三.寄语四.本案例完整源码下载一.【计算机设计大赛作品】豆瓣…...
VS2019启动编辑并继续不起作用(.NET)
直接上方案 1)请确保您取消选中工具>选项>调试>常规下的选项:使用托管兼容模式和要求源文件与原始版本完全匹配。如下图: 2)请先取消选中编辑并继续选项,然后关闭您的旧解决方案,删除解决方案文件夹中的.vs隐藏文件夹&a…...
FFmpeg处理音视频的常用API及一般流程
FFmpeg是一个开源的音视频处理库,提供了丰富的API用于音视频的编解码、转码、过滤、播放等操作。 一、使用FFmpeg API解码涉及到的函数及一般流程如下: 1. av_register_all(): 注册所有的编解码器和格式。 av_register_all(); 2. avformat_open_inpu…...
Kotlin协程学习之-01
由于协程需要支持挂起、恢复、因此对于挂起点的状态保存就显得机器关键。类似的,线程会因为CPU调度权的切换而被中断,它的中断状态会保存在调用栈当中,因而协程的实现也按照是否开辟相应的调用栈存在以下两种类型: 有栈协程&…...
214.【2023年华为OD机试真题(C卷)】测试用例执行计划(排序题-JavaPythonC++JS实现)
🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目-测试用例执行计划二.解题思路三.题解代码Pytho…...
数一下 1到 100 的所有整数中出现多少个数字9并输出这些数字
分析: 我们知道 1-100的整数 i 中,9会出现在十位和个位上,数9出现的次数可以通过以下来实现: 个位是9 // i % 10得到整数 i 个位上的数十位是9 // i / 10得到整数 i 除了个位数的数字 这也是做这道题之后,我们需要…...
07. HTTP接口请求重试怎么处理?
目录 1、前言 2、实现方式 2.1、循环重试 2.2、递归重试 2.3、Spring Retry 2.4、Resilience4j 2.5、http请求网络工具内置重试方式 2.6、自定义重试工具 2.7、并发框架异步重试 2.8、消息队列 3、小结 1、前言 HTTP接口请求重试是指在请求失败时,再次发…...
分割数组的最大差值 - 华为OD统一考试
分割数组的最大差值 - 华为OD统一考试 OD统一考试 分值: 100分 题解: Java / Python / C++ 题目描述 给定一个由若干整数组成的数组nums ,可以在数组内的任意位置进行分割,将该数组分割成两个非空子数组(即左数组和右数组),分别对子数组求和得到两个值.计算这两个值的差值…...
基于 Python+Django 技术栈,我开发了一款视频管理系统
学习过程中,遇到问题可以咨询作者 大家好,作为一名开发人员,平时比较愿意动手尝试各种有意思工具,因为笔者非常喜欢观看视频,尤其是YouTube、bilibili都是笔者非常喜欢的视频网站,所以想自己实现一个视频点…...
Python从入门到网络爬虫(内置函数详解)
前言 Python 内置了许多的函数和类型,比如print(),input()等,我们可以直接在程序中使用它们,非常方便,并且它们是Python解释器的底层实现的,所以效率是比一般的自定义函数更有效率。目前共有71个内置函数&…...
Python新年烟花代码
Pygame 绘制烟花的基本原理 1,发射阶段:在这一阶段烟花的形状是线性向上,通过设定一组大小不同、颜色不同的点来模拟“向上发射” 的运动运动,运动过程中 5个点被赋予不同大小的加速度,随着时间推移,后面的…...
oracle语法学习
oracle语法学习 1.备份表 create table bd_psndoc_temp as select * from bd_psndoc2.还原表 drop table bd_psndoc; create table bd_psndoc as select * from bd_psndoc_temp3.查询表的前5条记录 select * from bd_psndoc_temp where rownum<54.从一个表中复制所有的列…...
网络安全常见漏洞类型总结
网络安全常见漏洞类型总结 1、弱口令 原因: 与个人习惯和安全意识相关,为了避免忘记密码,使用一个非常容易记住的密码,或者是直接采用系统的默认密码等。 危害: 通过弱口令,攻击者可以进入后台修改资料&a…...
C++自制小游戏《屠夫躲猫猫》
大家好,我是派蒙,我写了一个《屠夫躲猫猫》的游戏,下面是源代码: #include <stdio.h> #include <conio.h> #include<bits/stdc.h> #include<windows.h> using namespace std; string ID[1001]; string N…...
LabVIEW在高级结构监测中的创新应用
LabVIEW在高级结构监测中的创新应用 LabVIEW作为一个强大的系统设计平台,其在基于BOTDA(光时域反射分析)技术的结构监测中发挥着核心作用。利用LabVIEW的高效数据处理能力和友好的用户界面,开发了一个先进的监测系统。该系统专门…...
关于GitHub的git推送命令时报错密码授权失败问题
参考文章:https://cloud.tencent.com/developer/article/2362326?areaId106001 问题描述 当新建GitHub仓库后,通过git clone xxxx,命令克隆仓库到本地,想要提交修改内容,此时会报错443链接远程仓库失败,解…...
WPF Blend for visual studio使用
Blend for visual studio介绍 VS自带的Blend for visual studio是专门用来做WPF、Metro等的界面设计的可视化工具,其功能和PS类似。其目的让做界面和后台的程序分开,能快速绘制形状和路径、修改对象样式、动态显示对象(动画)、显示数据等高级操作。VS与B…...
云卷云舒:【实战篇】Redis迁移
1. 简介 Remote Dictionary Server(Redis)是一个由Salvatore Sanfilippo写的key-value存储系统,是一个开源的使用ANSIC语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 2. 迁移原理 redis-sh…...
[C#]yolov8-onnx在winform部署手势识别模型
【官方框架地址】 https://github.com/ultralytics/ultralytics.git 【算法介绍】 YOLOv8 是一个 SOTA 模型,它建立在以前 YOLO 版本的成功基础上,并引入了新的功能和改进,以进一步提升性能和灵活性。具体创新包括一个新的骨干网络、一个新…...
【uniapp】 uniapp 修改tabBar图标大小和navigationBar字体大小
app.vue文件中修改 //导航栏字体 .uni-page-head .uni-page-head__title{font-size: 30rpx !important; } // tab图标 .uni-tabbar .uni-tabbar__icon {width: 25rpx !important;height: 25rpx !important; }大佬地址:https://blog.csdn.net/AAAXiaoApple/article/…...
Visual Studio 2017 + opencv4.6 + contribute + Cmake(Aruco配置版本)指南
之前配置过一次这个,想起这玩意就难受,贼难配置。由于要用到里面的一个库,不得已再进行配置。看网上的博客是真的难受,这写一块,那里写一块,乱七八糟,配置一顿发现写的都是错的,还得…...
自定义事件总线
文章目录 什么是自定义事件总线具体实现思路分析定义结构实现 on实现 emit实现 off 源码 什么是自定义事件总线 自定义事件总线属于一种观察着模式,其中包括三个角色发布者(Publisher):发出事件(Event)订阅…...
212.【2023年华为OD机试真题(C卷)】堆内存申请(排序和贪心算法-JavaPythonC++JS实现)
🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目-堆内存申请二.解题思路三.题解代码Python题解代…...
Flink Watermark和时间语义
Flink 中的时间语义 时间语义: EventTime:事件创建时间;Ingestion Time:数据进入Flink的时间;Processing Time:执行操作算子的本地系统时间,与机器无关。不同的时间语义有不同的应用场合&#x…...
HarmonyOS UI框架简介
HarmonyOS UI框架介绍 HarmonyOSUI框架是一个用于构建跨设备应用的开发框架,它属于HarmonyOS系统架构的上层框架。该框架通过提供一系列的开发模型、声明式UI范式、系统API等,帮助开发者更高效地构建用户界面。 在HarmonyOSUI框架中,开发语…...
自己在线制作logo免费软件下载/seo公司软件
2019年两会工作报告中提出要深化收费公路制度改革,取消全国高速公路省界收费站,实现不停车快捷收费(ETC),减少拥堵,便利群众。打造智慧交通出行是时代进步必然的结果,ETC的发展与普及更是不可阻挡的趋势。 项目概述 E…...
会做网站的公司/2345网址导航智能主板
工具 window10 django2.2.2 mysql5.6 django默认使用mysqlclient连接mysql,但是在window下直接安装mysqlclient不容易成功,可以使用pymysql 代替。 但使用如下方式报错: #settings.py import pymysql pymysql.intall_as_MySQLdb()django 3.…...
猪八戒做的网站怎么样/草莓永久地域网名入2022
1、mongodb 使用安全认证时,添加用户使用createUser,具体如下: 定义: 创建一个数据库新用户用db.createUser()方法,如果用户存在则返回一个用户重复错误。 语法: db.createUser(user, writeConcern) …...
good work wordpress/黑帽seo什么意思
2019独角兽企业重金招聘Python工程师标准>>> 之前我们很多的第三方依赖包都是去各自的官网下载的,然后引入到我们的项目中,其实这是一种非常麻烦的做法,因为有个工具就是完全的可以替代着我们做这些事情,对于gower就不…...
wordpress 评论 框/百度怎么搜索图片
首先需要定义个自定义类,接收数据库返回的值,里边需要包含一个chilren的子类,但是注意, 子类必须在构造函数内 实例化一下,要不然会报错 接下来 需要首先获取到第一级的树的节点; 第三步, 定义一…...
wordpress is电影主题/整合营销方案案例
前言 继续翻览《程序是怎样跑起来的》 本节是第九章 操作系统和应用的关系 1、操作系统功能的历史 最早是仅具有加载和运行功能的 监控程序 后来,基本的输入输出部分的程序被追加到了监控程序中,初期的操作系统诞生 2、系统调用和高级编程语言的移植性…...