我找到了两种方式传递参数的方式。将数据发送到新屏幕https://flutter.dev/docs/cookbook/navigation/passing-data,并将参数传递到命名路由https://flutter.dev/docs/cookbook/navigation/navigate-with-arguments。他们之间有什么区别?
答案 0 :(得分:1)
第一个示例使用Navigator.push方法,其中小部件A直接将参数传递给新的小部件B构造函数。 第二个示例使用带有路由名称的Navigator.pushNamed,并将参数作为单独的字段传递。因此,带有小部件B的新MaterialPageRoute是在其他地方构建的,您可以在其中处理路线。
第二种方法更灵活,因为它允许解开窗口小部件A和B,因此窗口小部件A不知道在推送命名路由后实例化了哪个窗口小部件。
但是两种方法都可以使用,因此由您决定使用哪种方法。