Flutter中的命名路线和导航屏幕有什么不同?

时间:2019-07-09 07:36:05

标签: flutter

我找到了两种方式传递参数的方式。将数据发送到新屏幕https://flutter.dev/docs/cookbook/navigation/passing-data,并将参数传递到命名路由https://flutter.dev/docs/cookbook/navigation/navigate-with-arguments。他们之间有什么区别?

1 个答案:

答案 0 :(得分:1)

第一个示例使用Navigator.push方法,其中小部件A直接将参数传递给新的小部件B构造函数。 第二个示例使用带有路由名称的Navigator.pushNamed,并将参数作为单独的字段传递。因此,带有小部件B的新MaterialPageRoute是在其他地方构建的,您可以在其中处理路线。

第二种方法更灵活,因为它允许解开窗口小部件A和B,因此窗口小部件A不知道在推送命名路由后实例化了哪个窗口小部件。

但是两种方法都可以使用,因此由您决定使用哪种方法。