• flutter 路由 fluro


    代码:

    1.
    import 'package:fluro/fluro.dart';
    import 'package:flutter/material.dart';
    import 'router_handle.dart';

    class MainRouter {
    static String root = '/';
    static String goodDetail = '/goodsDetail';
    static void configureRoutes(Router router){
    router.notFoundHandler = new Handler(
    handlerFunc: (BuildContext context,Map<String,List<String>> params){
    print('Not Found Router');
    }
    );
    router.define(goodDetail, handler: goodsHandle);//商品详情路由


    }
    }
     
     
    2.
    Handler goodsHandle = Handler(
    handlerFunc: (BuildContext context,Map<String,List<String>> params){
    String goodsId = params['id'].first;
    print('detail->route goodsid : ${goodsId}');


    return GoodDetail(goodsId);
    }

    );
     
    3.
    class Application {
    static Router router;
    }
    4.
    final router = new Router();
    MainRouter.configureRoutes(router);
    Application.router = router;
    return Container(
    child: MaterialApp(
    title: '网商项目',
    onGenerateRoute: Application.router.generator,
    debugShowCheckedModeBanner: false,//去掉debug样式
    theme: ThemeData(
    primaryColor: Colors.pink//主题样式颜色
    ),
    home: IndexPage(),
    ),
    );
    5.
    onTap: (){
    Application.router.navigateTo(context, '/goodsDetail?id=${val['goodsId']}');
    },
    总结:

    flutter 路由 fluro

    下载 fluro: ^1.4.0

    单个路由的实例

    Handle xxxx = Handle(

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

    print(‘调用XX路由实例’)

    return 返回某个页面,也可省略

    }

    )

    Xxx 是实例变量

    使用主Route 统一分发

    Class YYY{

    static String root = ‘/’;

    static String  xxString  = ‘/xxx’ //上面实例相关的实例变量地址

    static void  yyconfigurationRoutes(Router router){

    router.notFoundHandle = new Handle(//未识别到的路由跳转

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

    }

    )

    router.define(xxString,handle:xxxx)

    }

    }

    yyconfigurationRoutes YYY下的静态实例方法

    加载静态管理

    class Application {

        static Router router;

    }

    main函数初始化

    final yy = New Router();//yy Router变量

    YYY.yyconfigurationRoutes(yy);

    Application.router = router;

    在main函数中的Container使用

    onGenerateRoute:Application.router.generator

    在某个跳转中使用

    onTap: (){

                  Application.router.navigateTo(context, '/goodsDetail?zzzzz'); goodsDetail就是xxString,zzzz是其他

                },

  • 相关阅读:
    AODV点点滴滴
    让控件的DropdownMenu或者PopupMenu弹出来
    如何让CoolBar控件的Bands在同一行上
    怎样在InstallShield的Basic MSI Project中用InstallScript添加路径
    VC调用Delphi制作的动态链接库如何互相传递字符串
    Delphi 中用 GetEnvironmentVariable 获取常用系统变量
    如何在工具栏或者其他的控件上显示其他控件的Hint
    企业信息开发平台(1)序
    对.Net 垃圾回收的C#编程相关方面(Finalize 和Dispose(bool disposing)和 Dispose())的一些理解体会(转)
    android上怎样让一个Service开机自动启动
  • 原文地址:https://www.cnblogs.com/pp-pping/p/12305277.html
Copyright © 2020-2023  润新知