Flutter中文社区Flutter圈子

Flutter学习之路1.1企业路由的使用

2019-05-25  本文已影响0人  长江悠悠向东流

引入fluro: ^1.4.0
1,建立handler

import 'package:fluro/fluro.dart';
import 'package:flutter/material.dart';
import '../pages/ceshi.dart';

Handler ceshi1=Handler(    

  handlerFunc: (BuildContext context,Map<String,List<String>> params ){

    String _passMessage = params['passMessage'].first;  //接收参数
    
    return ceShiPage(_passMessage); //传递参数
  }
);

Handler ceshi2=Handler(
  
  handlerFunc: (BuildContext context,Map<String,List<String>> params){
    
    String _passMessage =params['message'].first;
    
    return ceShiPage(_passMessage);
    
  }
  
);

2,配置总路由Routers

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

class Routers{

  static String root = '/';   //根
  static String ceShi1Page = '/ceshi1Page';  //配置路径
  static String ceShi2Page = '/ceShi2Page';  //配置路径
  static void configureRouters(Router router){   //路由页面未找到

    router.notFoundHandler =Handler(
      handlerFunc: (BuildContext context,Map<String,List<String>> params){
       print('路由页面未找到');
      }
    );
    router.define(ceShi1Page, handler: ceshi1);  //ceShi1Page的路由跳转
    router.define(ceShi2Page, handler: ceshi2);  //ceShi2Page的路由跳转


  }




}

3路由静态化

import 'package:fluro/fluro.dart';

class Application{
  static Router router;

}

4,在main.dart的Widget Builder中注入路由


image.png
final router=Router();
    Routers.configureRouters(router);
    Application.router=router;

5,使用

Application.router.navigateTo(context,'/ceShi1Page ? message=ceShi1Page');
上一篇 下一篇

猜你喜欢

热点阅读