Fluro使用

一、添加依賴app

dependencies:
 fluro: "^1.4.0"

二、main.dart中引入ui

import 'package:fluro/fluro.dart';

三、對每一個路由的獨立配置,即編寫handler,如要傳遞參數,參數的值是什麼,這些都須要在 Handler 中完成code

(1)新建一個routers文件夾,而後新建router_handler.dart文件router

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


Handler detailsHanderl =Handler(
  handlerFunc: (BuildContext context,Map<String,List<String>> params){
    String goodsId = params['id'].first;
    return DetailsPage(goodsId);
  }
);

四、對路由整體的配置,新建一個routes.dartci

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

class Routes{
  static String root='/';
  static String detailsPage = '/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(detailsPage,handler:detailsHandler);
  }
}

五、把 Fluro 的 Router 靜態化路由

import 'package:fluro/fluro.dart';
class Application{
  static Router router;
}

六、在main.dart文件裏進行全局注入generator

import './routers/routes.dart';
import './routers/application.dart';

    build裏寫以下代碼
    final router = Router();
    Routes.configureRoutes(router);
    Application.router=router;

   Container裏寫以下代碼
    onGenerateRoute: Application.router.generator,

七、使用io

import './routers/application.dart';
 Application.router.navigateTo(context,"/detail?id=${val['goodsId']}");
相關文章
相關標籤/搜索