flutter项目中使用GetX作为路由管理,我一般都是使用Get.toNamed('/xxx')作为跳转,但是最近发现了一个尴尬的事情。
新闻列表页:
InkWell(
onTap: () {
Get.toNamed('/detail', arguments: {'id': 1});
},
child: Text('这是第一篇新闻的标题')
),
在新闻1的页面中用arguments['id']去服务器请求数据,这一切没问题。
但是如果在新闻1页面中想实现【下一篇:这是第二篇新闻的标题】时,使用以下代码:
InkWell(
onTap: () {
Get.toNamed('/detail', arguments: {'id': 2});
},
child: Text('这是第二篇新闻的标题')
),
页面不跳转页不报错,请问大家有类似的情况吗?
我尝试过把
Get.toNamed('/detail', arguments: {'id': 1});
换成
Get.to(() => Detail(), arguments: {'id': 1});
在第一层有用,后面就没有。
也就是说,从列表跳到新闻1页面,再从新闻1页面跳到其它新闻页时有用,比如跳到新闻2页面。但是从新闻2页面要调到其他新闻页面则没用,不跳转页不报错。
Get.toNamed('/detail', arguments: {'id': 1},preventDuplicates = false);