push将设置的router信息推送到navigator上,实现页面的跳转
of用于获取Navigator最近的实例状态
从当前页面到下一个页面,并且接受下个界面传过来的值
Future<String> pushNextData(BuildContext context) async{
var result = await Navigator.of(context). push(MaterialPageRoute(builder: (context) {
return PageOne('传值到下个界面');
}));
return result;
}
将下个界面的数据传回来
Navigator.of(context).pop('我要把数据传到上一个界面');
路由的实现过程遇到的问题
1 主页面和子页面主题风格可能不一样
2 主页面和非主页面的跳转方式不一样
3 Scafflod的body填写具体组件名称时,可能接收不到返回的数据
4 子页面可以实现main函数,也可以不实现main函数