Flutter

Flutter fluro 实现路由配置简介

2019-08-26  本文已影响0人  StevenHu_Sir
dependencies:
 fluro: "^1.4.0"

或者

dependencies:
 fluro:
   git: git://github.com/theyakka/fluro.git

配置步骤

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;
  print('index>details goodsID is ${goodsId}');
  return DetailsPage(goodsId);
});
import 'package:flutter/material.dart';
import 'package:fluro/fluro.dart';
import './router_handler.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:detailsHanderl);
  }
}
import 'package:fluro/fluro.dart';

class Application{
  static Router router;
}

路由_fluro的全局注入和使用

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    //-------------------主要代码start
    final router = Router();
    Routes.configureRoutes(router);
    Application.router=router;
    //-------------------主要代码end
    
    return Container(
      child: MaterialApp(
        title:'百姓生活+',
        debugShowCheckedModeBanner: false,
        //----------------主要代码start
        onGenerateRoute: Application.router.generator,
        //----------------主要代码end
        theme: ThemeData(
          primaryColor:Colors.pink,
        ),
        home:IndexPage()
      ),
    );
  }
}

首页使用

Application.router.navigateTo(context,"/detail?id=${val['goodsId']}");
上一篇 下一篇

猜你喜欢

热点阅读