flutter 路由配置多种跳转与传参

2023-10-29

main.dart文件

//1. 引入路由跳转的页面
import 'package:app_ftr/pages/Page1.dart';
import 'package:app_ftr/pages/Page2.dart';

void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
   return MaterialApp(
     title: 'Flutter Demo',
     theme: ThemeData(
       primarySwatch: Colors.blue,
     ),
     debugShowCheckedModeBanner: false, //隐藏debug
     //路由 (路由表匹配不到就走路由守卫)
     initialRoute: '/',
     routes: {
       '/Page1': (context) => Page1(),  //2. 配置跳转页面
       '/page2': (context) => Page2()
       //传参
       '/page2': (context,{arguments}) => Page2(arguments:arguments),
     },
   )  
 }

//跳转方法
//普通push路由跳转方法 都可传参
Navigator.pushNamed(context, "/Page2");
//PushReplacementNamed替换当前路由跳转方法,新push进入的route会替换原来route。
Navigator.of(context).pushReplacementNamed('/Page2');
//删除当前路由并跳转到下一路由
Navigator.of(context).popAndPushNamed('/Page2');
//删除/Page1路由后面的所有路由 并跳转到/Page2路由
Navigator.of(context).pushNamedAndRemoveUntil('/Page2', ModalRoute.withName('/Page1'));

//跳转传参
Navigator.pushNamed(context, "/page2",arguments: {"id":102});
//接受参数
class Page2 extends StatefulWidget {
  final arguments;  //定义一个变量
  Page2({this.arguments});  //重构
  ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

flutter 路由配置多种跳转与传参 的相关文章

随机推荐

  • 解决skia静态库中关于jpeg/png编码解码器的全局变量的问题

    近期在研究Andriod的图形渲染系统skia 编译好skia后 写了一个小小的测试程序 include SkBitmap h include SkDevice h include SkPaint h include gm h includ
  • 循环神经网络--01 序列模型

    生成数据 import torch from torch import nn from d2l import torch as d2l T 1000 time torch arange 1 T 1 dtype torch float32 x
  • priority_queue优先队列的使用方法

    说到优先队列 大家肯定想到了队列 这肯定是对于学过队列的同学来说 当然了 没学过也没事 对于本篇文章没什么问题滴 队列的特征是后进后出 按照排队先来后到的顺序的 本篇文章介绍的priority queue优先队列是按照优先级的顺序来排队 优
  • JAVA开发环境配置指南

    进入Java世界之前 我们需要铺一条 路 才能通往Java的世界并且尽情遨游 那么这条 路 是什么呢 是的 就是Java的开发环境 今天我们一起来学习Java开发环境的配置 1 下载与安装Java JDK 首先 我们需要从Oracle官网下
  • Leetcode-257 二叉树的所有路径(深搜)

    给你一个二叉树的根节点 root 按 任意顺序 返回所有从根节点到叶子节点的路径 叶子节点 是指没有子节点的节点 输入 root 1 2 3 null 5 输出 1 gt 2 gt 5 1 gt 3 示例 2 输入 root 1 输出 1
  • SAP ABAP HANA 使用ECLIPSE而不是HANA Studio

    首先是ECLIPSE下载 链接 在这个网页中找到SAP HANA Tools这一块 然后跟着procedure的操作来做 即下图 安装完成后 连接SAP系统 打开Eclipse 点图中的按钮或菜单栏Windows gt Perspectiv
  • 创建SpringBoot + Druid + Mybatis项目

    本章目录 前言 一 搭建SpringBoot框架 二 配置druid连接池 1 选择原因 2 druid参数 3 druid的配置 三 Mybatis持久层 1 三层架构 2 选择原因 3 mybatis配置 本章将讲述如何创建spring
  • 机器视觉检测系统完整解决方案以及开发流程

    点击上方 小白学视觉 选择加 星标 或 置顶 重磅干货 第一时间送达 第一步是确定要求并确定是否可行 机器视觉一词可以想象是具有一组眼睛的计算机进行检测或检验行为 为了开发机器视觉应用的完整解决方案 视觉工程师执行一系列通常分为五个类别的任
  • unity消息机制实现

    在mvc模式中 消息机制被广泛使用 Unity3d自带的消息机制真心不好用 像SendMessage 需要知道响应事件的物件 还需要一个响应函数的函数名字符串作为参数 如果我们有多个物件都要响应某个事件怎么办呢 或者我们不知道有哪些物件要响
  • MySQL-数据库读写分离(下)

    作者 小刘在C站 个人主页 小刘主页 努力不一定有回报 但一定会有收获加油 一起努力 共赴美好人生 学习两年总结出的运维经验 以及思科模拟器全套网络实验教程 专栏 云计算技术 小刘私信可以随便问 只要会绝不吝啬 感谢CSDN让你我相遇 前言
  • js为浏览器URL追加参数

    setTimeout gt let newurl updateQueryStringParameter window location href id 123456 向当前url添加参数 没有历史记录 window history repl
  • SpringBoot笔记:SpringBoot启动参数配置

    文章目录 目的 测试代码 配置文件配置 获取自定义参数 项目打包发布 修改启动配置 方式一 系统变量 方式二 命令行参数 springboot启动参数解释 目的 1 熟悉springboot多环境配置 2 熟悉springboot使用jar
  • Webpack源码分析-打包后的文件分析

    Webpack源码解析 使用webpack版本 html webpack plugin 4 5 0 webpack 4 44 2 webpack cli 3 3 12 打包后文件分析 webpack code dist bundle js
  • UTM安全功能部署场景——web过滤原理、url过滤

    目录 web过滤原理 网络过滤检查模式 代理模式 流模式 DNS模式 应用场景 一 组网需求 二 组网拓扑 三 配置要点 四 配置步骤 五 配置步骤 web过滤原理 网络过滤检查模式 代理模式 基于代理的检查包括流量缓冲和在决定一个行动之前
  • CSS里的style标签内为什么要加html注释符

    今天俺终于搞懂了 CSS里的style标签内为什么要加html注释符 说来惭愧啊 搞开发也有那么点时间了吧 经常看在style标签里含有这个html的注释符号 想去搞懂原因 还真没找着 上网没找到原因 可能是自己查找的方式不对吧 下面步入正
  • 【202211】国内镜像源地址

    Ubuntu Python Nodejs MySQL Git Chromium Docker Homebrew 等一系列的常用最推荐的镜像源 清华源镜像清华大学开源软件镜像站 Tsinghua Open Source Mirror 可能是最
  • anguar12里面FormControl学习

    在Angular 12中 要动态修改FormGroup 你可以使用patchValue 方法或setValue 方法 使用patchValue 方法 import Component OnInit from angular core imp
  • java内部类的作用分析

    提起Java内部类 Inner Class 可能很多人不太熟悉 实际上类似的概念在C 里也有 那就是嵌套类 Nested Class 关于这两者的区别与联系 在下文中会有对比 内部类从表面上看 就是在类中又定义了一个类 下文会看到 内部类可
  • solidity数据位置

    代码在执行前 一般会编译成指令 指令就是一个个逻辑 逻辑操作的是数据 代码 或者说业务 操作的其实是数据 非区块链中 代码操作的数据 一般会存到数据库中 在区块链里 区块链本身就是一个数据库 如果你使用区块链标记物产的所有权 归属信息将会被
  • flutter 路由配置多种跳转与传参

    main dart文件 1 引入路由跳转的页面 import package app ftr pages Page1 dart import package app ftr pages Page2 dart void main gt run