我正在使用getx中的GetMaterialApp.router
,因为我曾经使用它来处理应用中的导航,但令人惊讶的是,它没有提供与MaterialApp.router
相同的参数集。
不过,我使用getPages
添加了路由。我一直在尝试访问Query
参数,但它不工作。我可以使用Get.parameters
访问Path
参数,但对Query
参数无效。
这是我的代码,我打算把test1
作为查询参数,我得到了null
;
GetPage(
name: '/:session/:test',
page: () {
return Scaffold(
appBar: AppBar(title: Text('${Get.parameters['session']}')),
body: Column(
children: [
Text('${Get.parameters['test']}'),
Text('${Get.parameters['test1']}'),
],
),
);
},
),
我尝试使用动态链接打开应用程序,对于路径参数,它工作正常,但对于查询参数,它似乎不起作用。
2条答案
按热度按时间clj7thdc1#
根据Getx的创建者,
Get.parameters
和Get.arguments
是外部的,必须分配给一个变量。参考文献读取查询
读取路径
z5btuh9x2#
我开始使用
GetMaterialApp.router
,因为我以前使用MaterialApp.router
来处理query
参数,当用户点击链接打开应用程序时。这样我就可以读取path
参数,但在尝试访问query
参数时,却得到了null
。在找不到任何解决方案之后,我决定回到
GetMaterialApp
,看看它是否像GetMaterialApp.router
构造函数一样提供路由选项,这样我的问题就解决了。GetMaterialApp.router
提供了更复杂的路由配置,对于某些人来说,使用它可能更有意义,但在我的情况下,GetMaterialApp
就足够了。