当前位置: 首页 > news >正文

第五百零三回

文章目录

  • 1. 概念介绍
  • 2. 使用方法
    • 2.1 普通路由
    • 2.2 命名路由
  • 3. 示例代码
  • 4. 内容总结

我们在上一章回中介绍了"使用get显示Dialog"相关的内容,本章回中将介绍使用get进行路由管理.闲话休提,让我们一起Talk Flutter吧。

在这里插入图片描述

1. 概念介绍

我们在本章回中介绍的路由管理主要是指页面之间的跳转,该功能是Get包的主要功能之一,不过原生SDK中也提供了该功能。我们在前面章回中介绍Get包时提到过路
由管理功能,本章回中将详细介绍该功能的用法,同时也会和原生SDK中的功能做比较。

2. 使用方法

我们在本章回中介绍的路由管理功能主要包含普通路由管理和命名路由管理两个功能。我们将分不同的小节来介绍它们。

2.1 普通路由

我们在这里说的普通路由是指在路由中直接使用页面类对象,比如下面的代码中直接使用了YourPage这个对象,它代表项目中的某个页面。

 Get.to(const YourPage());Navigator.of(context).push(MaterialPageRoute(builder: (context) => const YourPage()));

原生SDK中通过Navigator类来实现路由管理,该类提供了push,pop,push,pushReplacement等方法来实现路由跳转功能。Get包对此类进行了封装,它提供了相
关的方法来实现路由跳转功能,包中常用的方法如下:

  • to():用来从当前页面跳转到参数是指定的页面,与原生中的push方法功能相同;
  • back():用来从当前页面返回到上一级页面,与原生中的pop方法功能相同;
  • off():用来从当前页面跳转到参数是指定的页面,并且取消下一个页面的导航(返回箭头),与原生中的pushReplacement方法功能相同;
  • offAll():用来从当前页面跳转到参数指定的页面,并且删除所的有路由,与原生中的pushAndRemoveUntil方法功能相同;
    上面介绍的这些方法使用十分方便,主要体现在两个方面:通过包名就可以直接调用;只需要在参数中传入跳转的页面就可以,不需要BuildContext对象;

2.2 命名路由

命名路由就是给页面起一个别名,在页面跳转时通过别名来跳转到指定的页面。它的用法详细如下:

  • 给页面创建别名,并且把别名赋值给GetMaterialApp组件的getPages属性;
  • 在GetMaterialApp组件的initialRoute属性中指定根路由;
  • 使用包中的toNamed方法跳转到指定页面,该方法的的参数是页面的别名;
    掌握上面介绍的使用步骤就可以调用包中的方法来使用命名路由,下面是包中提供的相关方法:
  • toNamed():用来从当前页面跳转到参数是指定的页面,与原生中的push方法功能相同;
  • offNamed():用来从当前页面跳转到参数是指定的页面,并且取消下一个页面的导航(返回箭头),与原生中的pushReplacement方法功能相同;
  • offAllNamed():用来从当前页面跳转到参数指定的页面,并且删除所的有路由,与原生中的pushAndRemoveUntil方法功能相同;
    上面介绍的这些方法使用十分方便,主要体现在两个方面:通过包名就可以直接调用;只需要在参数中传入跳转的页面就可以,不需要BuildContext对象;此外,包中
    还提供了其它的命名路由方法,大家可以去查看接口相关的代码。

3. 示例代码

GetMaterialApp(// home: GetHomePage(),///配置好路由后可以使用命名路由,配置方法和Material方法相同initialRoute: '/',getPages: [GetPage(name: '/', page: () => const GetHomePage(),),GetPage(name: '/overlay', page: () => const ExOverlayEntry(),),GetPage(name: '/html', page: () => const ExHtmlView(),),],
);ElevatedButton(onPressed: (){Get.toNamed('/html');// Navigator.of(context).pushNamed('/html');},child: const Text("Named"),),

上面的示例代码完全按照上一小节中的实现方法来编写,同时把包中路由方法赋值给了按钮的onPressed属性,这样在点击按钮时就可以跳转到其它的页面。这里只演示
了一种命名路由方法,其它的方法用法相同,大家可以自己动手去实践。

4. 内容总结

最后,我们对本章回的内容做一个全面的总结:

  • Get提供了两种方法管理路由:普通路由和命名路由;
  • 普通路由通过to,back,off()等方法来实现路由管理;
  • 命名路由通过toNamed,offNamed(),offAllNamed()等方法来实现路由管理;
  • Get包中进行路由管理的方法都是静态方法,并且不需要提供Context对象,使用十分方便;
    看官们,与"使用get进行路由管理"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

相关文章:

第五百零三回

文章目录 1. 概念介绍2. 使用方法2.1 普通路由2.2 命名路由 3. 示例代码4. 内容总结 我们在上一章回中介绍了"使用get显示Dialog"相关的内容,本章回中将介绍使用get进行路由管理.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在本章…...

[动态规划] 完美覆盖

描述 一张普通的国际象棋棋盘,它被分成 8 乘 8 (8 行 8 列) 的 64 个方格。设有形状一样的多米诺牌,每张牌恰好覆盖棋盘上相邻的两个方格,即一张多米诺牌是一张 1 行 2 列或者 2 行 1 列的牌。那么,是否能够把 32 张多米诺牌摆放…...

redis深入理解之实战

1、SpringBoot整合redis 1.1 导入相关依赖 <dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId> </dependency> <dependency><groupId>org.springframework.boot</groupId><artifactId&g…...

python设计模式---工厂模式

定义了一个抽象类Animal&#xff0c;并且让具体的动物类&#xff08;Dog、Cat、Duck&#xff09;继承自它&#xff0c;并实现了speak方法。然后创建了AnimalFactory工厂类&#xff0c;根据传入的参数来决定创建哪种动物的实例。 from abc import abstractmethod, ABCclass Anim…...

探索Vue 3.0中的v-html指令

探索Vue 3.0中的v-html指令 一、什么是v-html指令&#xff1f;1、 在Vue 3.0中使用v-html2、 注意事项 二、结语 一、什么是v-html指令&#xff1f; Vue.js作为一款流行的JavaScript框架&#xff0c;不断地演进着。随着Vue 3.0的发布&#xff0c;开发者们迎来了更加强大和灵活…...

anaconda 环境配置

官方网站下载地址&#xff1a; https://www.anaconda.com/download/ 国内清华镜像下载地址&#xff1a; https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 配置国内环境: conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ …...

DS:顺序表、单链表的相关OJ题训练(2)

欢迎各位来到 Harper.Lee 的学习世界&#xff01; 博主主页传送门&#xff1a;Harper.Lee的博客主页 想要一起进步的uu欢迎来后台找我哦&#xff01; 一、力扣--141. 环形链表 题目描述&#xff1a;给你一个链表的头节点 head &#xff0c;判断链表中是否有环。如果链表中有某个…...

上传到 PyPI

将软件包上传到 PyPI&#xff08;Python Package Index&#xff09;&#xff0c;您需要遵循以下步骤&#xff1a; 准备软件包&#xff1a;确保您的软件包满足以下要求&#xff1a; 包含一个 setup.py 文件&#xff0c;用于描述软件包的元数据和依赖项。包含软件包的源代码和必要…...

盛最多水的容器(双指针)

解题思路&#xff1a; 1&#xff0c;暴力解法&#xff08;超时&#xff09; 我们可以使用两层for循环进行遍历。找到那个最大的面积即可&#xff0c;这里我就不写代码了&#xff0c;因为写了也是超时。 2&#xff0c;双指针法 先定义两个指针一个在最左端&#xff0c;一个在…...

【深度学习】实验3 特征处理

特征处理 python 版本 3.7 scikit-learn 版本 1.0.2 1.标准化 from sklearn.preprocessing import StandardScaler from sklearn.preprocessing import MinMaxScaler from matplotlib import gridspec import numpy as np import matplotlib.pyplot as plt cps np.random.…...

MoneyPrinter国内版改造

背景&#xff1a; MoneyPrinter 是一个自动生成短视频的开源项目。只需要输入短视频主题&#xff0c;然后就可以生成视频。 在国内环境运行时&#xff0c;框架中使用的youtube、抖音文字转语音等功能无法使用&#xff0c;需要对框架进行国内版改造&#xff0c;使其使用国内网络…...

C++ 派生类的引入与特性

一 继承与派生 从上面的例子可以看出&#xff1a; 继承&#xff1a;一旦指定了某种事物父代的本质特征&#xff0c;那么它的子代将会自动具有哪些性质。这就是一种朴素的可重用的概念。 派生&#xff1a;而且子代可以拥有父代没有的特性&#xff0c;这是可扩充的概念。 1 C 的…...

Poe是什么?怎样订阅Poe?

Poe&#xff08;全称“开放探索平台”&#xff0c;Platform for Open Exploration&#xff09;是一款由Quora开发的移动应用程序&#xff0c;于2022年12月推出。该应用程序内置建基于AI技术的聊天机器人&#xff0c;可供用户向机器人询问专业知识、食谱、日常生活&#xff0c;甚…...

基于FPGA的视频矩阵切换方案

一、单个显示设备的系统方案&#xff1a;会议室只有1个显示设备 会议室的信号源有很多&#xff0c;但是显示设备只有1个&#xff0c;这个时候最佳方案是使用切换器。 &#xff08;1&#xff09;切换器&#xff08;控制方式&#xff1a;遥控器、软件、机箱面板、中控&#xff…...

.NET周刊【5月第1期 2024-05-05】

国内文章 一个开源轻量级的C#代码格式化工具&#xff08;支持VS和VS Code&#xff09; https://www.cnblogs.com/Can-daydayup/p/18164905 CSharpier是一个开源、免费的C#代码格式化工具&#xff0c;特点是轻量级且依赖Roslyn引擎重构代码格式。支持的IDE包括Visual Studio …...

springcloud -nacos实战

一、nacos 功能简介 1.1.什么是Nacos&#xff1f; 官方简介&#xff1a;一个更易于构建云原生应用的动态服务发现(Nacos Discovery )、服务配置(Nacos Config)和服务管理平台。 Nacos的关键特性包括&#xff1a; 服务发现和服务健康监测动态配置服务动态DNS服务服务及其元数…...

第十五章 数据管理成熟度评估练习

单选题 (每题1分,共19道题) 1、 [单选] 下列选项中属于数据管理成熟度2级特征的选项是? A:很少或没有治理;有限的工具集;单个竖井(系统)内定义角色;控件(如果有的话的应用完全不一致);未解决的数据质量问题 B:治理开始出现;引入一致的工具集;定义了一些角色和…...

tcpdump速查表

tcpdump 速查表 -D 列出网络设备 ~]$ sudo tcpdump -D1.eth02.nflog (Linux netfilter log (NFLOG) interface)3.nfqueue (Linux netfilter queue (NFQUEUE) interface)4.any (Pseudo-device that captures on all interfaces)5.lo [Loopback]-i 指定网卡 前面列出的设备可以…...

单元测试与集成测试:软件质量的双重保障

目录 概述 单元测试 集成测试 单元测试的方法 白盒测试 黑盒测试 白盒测试的方法和用例设计 代码审查 集成测试 单元测试工具 结语 在软件开发中&#xff0c;测试是一个不可或缺的环节&#xff0c;它能够帮助我们发现和修复缺陷&#xff0c;确保软件的质量和可靠性。…...

孙宇晨对话大公网:香港Web3政策友好环境示范意义重大

日前,全球知名华文媒体大公网发布《湾区web3大有可为》重磅系列报道。报道通过对中国香港与大湾区其他城市Web3政策、行业创新和生态建设等方面的梳理,以及对行业领袖和重要行业机构的走访,全面展现了在大湾区一体化发展的背景下,Web3等数字经济模式在该地区的长远发展潜力。 …...

从零到一:uni-app多端应用集成i18n国际化的完整实践指南

1. 为什么需要国际化&#xff1f; 第一次接触国际化需求时&#xff0c;我也以为就是简单的文本翻译。直到实际开发中遇到阿拉伯语从右向左排版、德语超长文本撑破布局、日语敬语体系等复杂场景&#xff0c;才发现国际化远不止翻译这么简单。国际化&#xff08;i18n&#xff09…...

通过Nodejs快速为Web应用接入多模型AI能力

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 通过Nodejs快速为Web应用接入多模型AI能力 现代Web应用对智能交互能力的需求日益增长&#xff0c;无论是客服对话、内容辅助生成还…...

同花顺高级玩法:用Python自动计算并更新‘历史换手衰减系数’,解放双手

同花顺量化实战&#xff1a;Python自动化计算历史换手衰减系数的完整方案 在量化交易领域&#xff0c;筹码分布分析一直是技术派投资者的重要工具。而同花顺软件中的"历史换手衰减系数"参数设置&#xff0c;直接影响着筹码峰分析的准确性。传统的手工计算方式不仅效率…...

VSCode光标主题定制指南:从颜色令牌到扩展开发

1. 项目概述&#xff1a;一个为开发者定制的光标主题集合如果你和我一样&#xff0c;每天有超过8小时的时间都泡在代码编辑器里&#xff0c;那么你一定会对编辑器里那个千篇一律的、闪烁的竖线光标感到审美疲劳。warrenwoodhouse/cursors这个项目&#xff0c;就是来解决这个“小…...

HS2-HF_Patch终极指南:一键为Honey Select 2安装完整增强补丁

HS2-HF_Patch终极指南&#xff1a;一键为Honey Select 2安装完整增强补丁 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch HS2-HF_Patch是专为《Honey Select 2》…...

别再点‘忽略’了!开机弹出Visual C++ Runtime Library错误的终极排查指南(附Adobe软件关联排查)

Visual C Runtime Library错误&#xff1a;从崩溃到根治的全链路解决方案 每次开机时那个刺眼的Visual C Runtime Library错误弹窗&#xff0c;就像一位不请自来的访客&#xff0c;固执地打断你的工作节奏。对于依赖Adobe Creative Cloud或达芬奇等创意工具的专业人士来说&…...

告别手动框选!用SUSTechPOINTS的V键批量标注,5分钟搞定一帧点云

解锁SUSTechPOINTS的V键批量标注&#xff1a;点云处理效率革命 在自动驾驶与机器人研发领域&#xff0c;点云标注是构建高精度感知模型的基础环节&#xff0c;但传统逐帧手动标注方式往往成为项目进度的瓶颈。我曾参与过一个城市级点云数据集标注项目&#xff0c;团队最初采用常…...

像素艺术家紧急预警:Midjourney即将关闭--tile参数兼容性(倒计时14天),现在必须掌握的3种替代渲染方案

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;像素艺术家紧急预警&#xff1a;Midjourney即将关闭--tile参数兼容性&#xff08;倒计时14天&#xff09; Midjourney v6.5 已正式宣布将于 14 天后终止对 --tile 参数的原生支持&#xff0c;此举将直…...

基于MCP协议构建AI数据连接器:从原理到SQL查询服务器实践

1. 项目概述&#xff1a;一个连接AI与数据源的“翻译官”最近在折腾AI应用开发&#xff0c;特别是想让大语言模型&#xff08;LLM&#xff09;能直接、安全地访问我自己的数据库、API或者文件系统时&#xff0c;遇到了一个普遍难题&#xff1a;怎么让AI理解并操作这些外部数据源…...

构建个人技能图谱:从结构化设计到自动化可视化的实践指南

1. 项目概述&#xff1a;一个技能图谱的诞生最近在GitHub上看到一个挺有意思的项目&#xff0c;叫dortort/skills。初看这个仓库名&#xff0c;你可能会有点懵&#xff0c;dortort是作者&#xff0c;那skills是什么&#xff1f;点进去一看&#xff0c;发现它不是一个具体的工具…...