flutter 学习记录fluro的使用

flutter 学习记录fluro的使用

学习flutter已经有两个月了,也算是对flutter有点了解。
今天来记录一下flutter fluro路由管理的使用

1.引入fluro
在pubspec.yaml文件里,直接注册版本依赖,代码如下。(注意要最新版)

dependencies:
fluro: ^1.6.3

2.初始化fluro
在一个类里声明一个对象
class Application{
static Router router;
}
3.新建route_handlers.dart文件,用于初始化跳转到各个页面的handle,并获取到上个页面传递过来的值,然后在初始化要跳转到的页面.

//项目详情页
Handler detailsHandler = Handler(
    handlerFunc: (BuildContext context, Map<String, List<String>> params) {
  String itemId = params['id'].first;
  return ProjectDetail(itemId);
});

4.新建routes.dart文件,用于绑定路由地址和对应的handler.

import 'package:flutter/material.dart';
import './router_handler.dart';
import 'package:fluro/fluro.dart';

class Routes {
  static String root = '/';
  static String projectDetail = '/detail';
  static void configureRoutes(Router router) {
    router.notFoundHandler = new Handler(
        handlerFunc: (BuildContext context, Map<String, List<String>> params) {
      print('ERROR====>ROUTE WAS NOT FONUND!!!');
    });
    router.define(projectDetail, handler: detailsHandler);
    //后面还可以添加
  }
}

5.初始化配置
在main.dart里添加

   final router = Router();
    Routes.configureRoutes(router);
    Application.router = router;

6.使用
无参跳转
Application.router.navigateTo(context, url);
有参跳转
Application.router.navigateTo(
context, “/productDetail?productId=${product.productId}”);
路由跳转都是进栈操作,原有页面没有销毁。如果想跳转时同时销毁页面(适用于退出登录)
Application.router.navigateTo(context, url,clearStack: true);

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值