首页 > 其他分享 >Get中的路由管理

Get中的路由管理

时间:2024-05-25 22:31:59浏览次数:15  
标签:功能 管理 Get 跳转 方法 路由 页面

文章目录


我们在上一章回中介绍了"使用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进行路由管理"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

标签:功能,管理,Get,跳转,方法,路由,页面
From: https://blog.csdn.net/talk_8/article/details/139204593

相关文章

  • 【精品毕设推荐】基于Springboot的智能物流管理系统设计与实现
    点击下载原文及代码,可辅助在本地配置运行摘要随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了智能物流管理系统的开发全过程。通过分析智能物流管理系统管理的不足,创建了一个计算机管理智能物流管理系统的方案。文章介绍了智能......
  • python管理k8s集群
    1、python怎么管理k8sk8s最核心的组件就是api-server,大部分的组件都是监听这个端口的,因此只有有着api就能进行使用python来管理k8s了2、操作1、参数详细的介绍#导入这些库fromkubernetesimportclient,configfromkubernetes.streamimportstreamApi_Instance=clie......
  • EasyCVR视频管理平台存在任意用户添加漏洞
    漏洞描述攻击者可以通过发送特定的POST请求,利用未授权访问的接口'/api/v1/adduser',在系统中添加任意用户,并将其设置为管理员角色。fofaapp="EasyCVR-视频管理平台"pocpassword为md5加密POST/api/v1/adduserHTTP/1.1Host:xxx.xxx.xxx.xxxContent-Type:application/x-ww......
  • 单片机 内存管理
    首先,我们用keil编译器将写完的单片机代码全部编译后,编译窗口会输出以下信息:可以看到,编译之后的运行文件被分成Code,RO-data,RW-data,ZI-data四部分存放于单片机的SRAM和FLASH中。Code:代码占用的flash大小。RO-data[read-onlydata]:只读常量(包括const修饰变量和defi......
  • 基于JAVA GUI体育馆管理系统的会员功能
      JavaGUI即Java图形用户界面,是一种使用图形化元素(如窗口、按钮、文本框等)来构建用户界面的技术。它基于Java的Swing框架,可以用于创建各种复杂的用户界面,包括窗口、对话框、菜单、按钮、文本框、复选框、下拉列表等。  JavaGUI具有以下特点:跨平台性:Java是一种跨平台......
  • 基于Android Studio图书管理,图书借阅系统
    目录项目介绍图片展示运行环境获取方式项目介绍用户书架:搜索书籍,查看书籍,借阅书籍,收藏书籍,借阅书籍必须在一个月之内还书;我的:可以修改密码,退出登录,查看收藏,查看借书记录管理员书架:搜索书籍,查看书籍,借阅书籍,收藏书籍,借阅书籍必须在一个月之内还书;我的:可以修改密码......
  • 源代码管理工具——Github
    一.工具介绍1.我的理解GitHub他就是一个远程仓库,远程仓库通俗的理解就是一个可以保存自己代码的地方,在实际开发当中一个项目往往是有多个人来共同协作开发完成的,那么就需要一个统一代码保存的地方,而GitHub就是起到一个共享和汇总代码的作用。2.github登录与注册官方登录页:ht......
  • GetWay的上手使用
    目录1.什么是API网关(APIGateway)API网关的定义API网关的职能​编辑API网关的分类与功能2.Gateway是什么3.为什么用Gateway4.Gateway怎么用通过Cookie匹配1.什么是API网关(APIGateway)分布式服务架构、微服务架构与API网关在微服务架构里,服务的......
  • 在奖学金管理系统项目中使用 GitHub 管理源代码
    1.GitHub管理代码的基本步骤GitHub是一个基于Git的代码托管平台,提供了版本控制和协作开发的功能。以下是使用GitHub管理代码的基本步骤:注册和创建存储库:注册一个GitHub账号。创建一个新的存储库(Repository):登录GitHub,点击右上角的“+”号,选择“Newreposi......
  • 图书管理系统(二)--用户模块--Python版
    本课题要求编写Python程序实现对图书信息录入、图书信息查询、图书借阅等方面的管理。一个综合的图书借阅管理系统,要求能够管理图书的基本信息(包含新图书入库、读者图书查询借阅等),需要实现以下功能:读取以数据文件形式存储的图书信息;管理员可以增加、修改、删除图书的信息;读者可......