Flutter学习笔记(五)页面跳转与数据传递

主要记录在Flutter中如何实现类似Android中Activity间跳转与数据传递的过程。

Flutter中一切皆Widget,所以页面的跳转也是从一个widget到另一个widget的过程。这里将引入两个概念导航(Navigator),路由(Route),页面的跳转及管理就是靠这两个完成的。

1、页面跳转

Navigator.push方法传递route实现,具体如下

Flutter学习笔记(五)页面跳转与数据传递

按钮的点击事件之后跳转到MyView页面

2、带传递参数的跳转

   2.1 使用Navigator.pushNamed方法通过argments字段传值,可传多个值。接收端方法           ModalRoute.of(context).settings.arguments;  这也是推荐方式。

  2.2 通过构造函数传值,这种方式就不多讲了

Flutter学习笔记(五)页面跳转与数据传递

3、页面返回

关掉该页面返回到上一个页面,也可以同时回传数据给上一个页面。

Navigator.pop(context)方法退出该页面;也可以在后面添加返回数据,Navigator.pop(context,'返回数据');

这里再讲一个小知识点,比如Android中按back键关闭当前页面,WillPopScope就有此功能,所以可以在我们的widget外层套上WillPopScope,如下:

Flutter学习笔记(五)页面跳转与数据传递

widget栈管理及原理等后续再补上...