📅  最后修改于: 2023-12-03 15:25:27.173000             🧑  作者: Mango
在 Flutter 应用程序中,路由是导航到应用程序的屏幕的方式。您可以使用 Navigator 类来管理应用程序的路由。
当您使用 Navigator.pushNamed() 方法时,它带有一个路径作为参数并打开命名路由。这是一个很好的方法,因为它让您的代码看起来更清晰,并且更容易管理路由。
但有时您可能需要传递参数到打开的命名路由,这就是 pushNamed() 方法不能完成的地方。这就是带有参数的 Flutter pushNamed() 很有用的地方。
下面是带有参数的 pushNamed() 方法的语法:
Navigator.pushNamed(context, '/routeName', arguments: arg);
在此语法中,context
是 BuildContext 对象,/routeName
是您要导航到的命名路由的名称,arguments
是您要传递给该路由的参数。
假设我们要打开一个带有用户名参数的用户资料页面:
Navigator.pushNamed(context, '/userProfile', arguments: {'username': 'JohnDoe'});
在新页面中,我们可以像这样获取参数:
final Map<String, dynamic> userData = ModalRoute.of(context).settings.arguments;
final String username = userData['username'];
在 Flutter 应用程序中,带有参数的 pushNamed() 方法是一种非常有用的技术。使用此技术可以轻松地传递参数并导航到命名路由。