【flutter笔记】路由

一 注册路由表

 return MaterialApp(
      title: 'flutter 笔记',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      initialRoute: '/home',
      routes: {
        '/home': (context) => Home(),
        '/test': (context) => Test(),
      },
      home: Scaffold(
        body: Home(),
      ),
    );

关于默认路由的设置:在路由表中注册Home路由,将其名字作为MaterialAppinitialRoute属性值,该属性决定应用的初始路由页是哪一个命名路由

二 通过路由名跳转路由

2.1 由Home跳转至Test

Future pushNamed(BuildContext context, String routeName,{Object arguments})
RaisedButton(
    onPressed: () {
        Navigator.pushNamed(context, '/test');
    },
    child: Text('路由跳转至Test()'),
),

2.2 由Test跳转回Home

RaisedButton(
    onPressed: () {
         Navigator.pop(context);
    },
    child: Text('跳转回上一级'),
),

三 路由的传参

Home组件

Navigator.pushNamed(context, '/test',arguments: '这是一条来自Home的传参');

Test组件

var receiveProps;
this.receiveProps = ModalRoute.of(context).settings.arguments;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容