Flutter实战视频-移动电商-40.路由_Fluro的全局注入和使用方法

40.路由_Fluro的全局注入和使用方法

路由注册到顶层,使每个页面都可以使用,注册到顶层就需要在main.dart中

main.dart注册路由

注入

onGenerateRoute是MaterialApp自带的路由配置项,

 

首页跳转到详细页

 

 

 

 

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

 

 

_wrapList火爆专区的商品,点击进行跳转

那么这个/detail是在哪里定义的呢?看下图,是在routers.dart中配置的

然后再传id过去

id在路由的这个地方配置的

 

flutter run 进行测试

我们details商品页本身也是比较简单的,就显示了接收的商品的goodsId

 

最终代码

 

import 'package:flutter/material.dart';
import './pages/index_page.dart';
import 'package:provide/provide.dart';
import './provide/counter.dart';
import './provide/child_category.dart';
import './provide/category_goods_list.dart';
import 'package:fluro/fluro.dart';
import './routers/routers.dart';
import './routers/application.dart';


void main(){
 var counter=Counter();
 var childCategory=ChildCategory();
 var categoryGoodsListProvide=CategoryGoodsListProvide();
 var providers=Providers();
 //final router=Router();//Router就是我们的Fluro
 //注册 依赖
 providers
 ..provide(Provider<Counter>.value(counter))
 ..provide(Provider<CategoryGoodsListProvide>.value(categoryGoodsListProvide))
 ..provide(Provider<ChildCategory>.value(childCategory)); 
  runApp(ProviderNode(child: MyApp(),providers: providers,));
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {

    final router=Router();//Router就是我们的Fluro
    Routes.configurreRoutes(router);//注册router
    Application.router=router;//静态化

    return Container(
      child:MaterialApp(
        title:'百姓生活+',
        onGenerateRoute: Application.router.generator,
        debugShowCheckedModeBanner: false,
        theme: ThemeData(
          primaryColor: Colors.pink
        ),
        home: IndexPage(),
      )
    );
  }
}
main.dart

 

 

home_page.dart页面主要一行代码,路由跳转的代码:

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

 

转载于:https://www.cnblogs.com/wangjunwei/p/10732902.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值