• Flutter-路由


    前言:

    Flutter-路由管理中有两个非常重要的概念:

    · Route:路由是应用程序的页面的抽象,对应Android中Activity和iOS中的ViewController,由Navigator管理。

    · Navigator:Navigator是一个组件,管理和维护一个基于堆栈的历史记录,通过push和pop进行页面的跳转。

    如果想对于push和pop这方面有更多的了解:
    http://laomengit.com/guide/navigator/Route.html


    1. 基本路由

    (1).我们知道基本的路由跳转会是一个新的页面程序,所以我们创建路由界面的时候要定义一个新的Scaffold

    (2).然后我我直接绑定了一个按钮来给路由做跳转NavigatorSearchPage则是我要跳转的页面,MaterialPageRoute这个方法则是跳转的方法,这我们到后面的命名路由会讲到

    RaisedButton(
          child: Text('跳转进入搜索'),
          onPressed: (){
              Navigator.of(context).push(
                MaterialPageRoute(
                  builder:(context)=>SearchPage()
                )
              );
          },
        )
    
    跳转按钮 跳转成功

    2. 命名路由

    我们对于当一些页面较多时,会用到命名路,我们该如何用使用命名路由呢?

    (1).MaterialApp提供了一个routes方法

    (2).我们先在main下导入每个页面

    image

    (3).然后我们配置路由

    image

    (4).注意,这里我们就不用MaterialPageRoute这个方法了,我们在按钮处直接写pushNamed

    RaisedButton(
          child: Text('跳转进入搜索'),
          onPressed: (){
              Navigator.pushNamed(context, 'search');
          },
        ),
    

    然后我们就可以使用命名路由来管理啦!


    3.打包命名路由

    我们如何打包命名路由把他模块化呢?

    (1). 我们现在lib下创建一个routes文件夹,顺便在里面创建一个Routes文件

    image

    (2).这时候我们就可以打包我们路由将他模块化了代码如下

    。。。打包这里出了点问题,2021.3.14

    我正在黑暗中摸索前行,每一盏我点亮的路灯下都有我沾满泥垢的掌印,但光亮终会散满我所幻想的世界。
  • 相关阅读:
    Visual Studio 2019 使用 Web Deploy 发布远程站点到IIS服务器
    postman下载地址
    ASP.NET Core开发-Docker部署运行
    C# ffmpeg 视频处理格式转换具体案例
    C# ffmpeg 视频处理格式转换和添加水印
    C# ffmpeg 视频处理
    Tomcat 安装与配置
    Maven 快速入门
    Jenkins 快速搭建
    Google SRE 读书笔记 扒一扒SRE用的那些工具
  • 原文地址:https://www.cnblogs.com/progweb/p/14533448.html
Copyright © 2020-2023  润新知