引入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中注入路由
![](https://img.haomeiwen.com/i10401979/bf4a51ba11b86cd5.png)
final router=Router();
Routers.configureRouters(router);
Application.router=router;
5,使用
Application.router.navigateTo(context,'/ceShi1Page ? message=ceShi1Page');
网友评论