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);
在使用 GetX 作为 Flutter 项目的路由管理时,如果 Get.toNamed('/detail', arguments: {'id': 2});
没有实现页面跳转并且没有报错,可能的原因如下:
GetMaterialApp
或 Get.put()
中正确配置了 /detail
路由。如果没有正确配置,Get.toNamed
将无法找到对应的页面进行跳转。Get.toNamed
时,如果目标页面已经在路由栈中,GetX 默认不会创建新的页面实例,而是复用已存在的页面实例。如果页面逻辑依赖于通过 arguments
传递的参数来刷新数据,那么你可能需要在目标页面的 onInit
或 onLoad
方法中监听参数变化,并手动触发数据加载。Get.arguments
获取传递的参数。确认在 Detail
页面是否正确获取了参数,并且根据参数加载了对应的数据。Detail
页面的其他代码逻辑,确认没有其他代码阻止了页面的跳转或者覆盖了 Get.toNamed
的行为。为了解决这个问题,你可以尝试以下步骤:
/detail
路由在路由配置中正确无误。Detail
页面的 onInit
或 onLoad
方法中监听 arguments
的变化,并在参数变化时加载对应的数据。Get.toNamed
是否被调用,以及参数是否正确传递。如果以上步骤都不能解决问题,你可能需要提供更详细的代码和配置信息,以便进一步分析问题所在。
是不是ios14以后不支持这样配置了? 通过h5页面通过Universal Links跳转到app,一直没用
pages.json 中 pages配置四个页面,其中有三个配置到了tabBar中 删减代码如下: 我现在需要从客户通讯录中通过点击跳转到没有配置在tabBar中的 客户详情页面中,事件代码如下: 结果控制台报错: 我的文件 '/pages/CustomerInfo/index' 是存在的,路径也没有写错,为什么会找不到页面呢?
页面跳转可以是打开新的一页,也可以是当前页重定向,还可以是跳转到当前页的某个状态,下面会从打开w文件,打开其它后缀文件,使用路由等几个方面分别介绍一下在X5中的页面跳转。 目录 1、打开w文件 1.1、使用Shell提供的方法 1.2、使用弹出窗口打开 1.3、模拟门户的做法 2、打开html等其它类型的文件 2.1、使用打开w文件的方法 2.2、使用a链接跳转 2.3、页面重定向 2.4、使用w
页面跳转可以是打开新的一页,也可以是当前页重定向,还可以是跳转到当前页的某个状态,下面会从打开w文件,打开其它后缀文件,使用路由等几个方面分别介绍一下在X5中的页面跳转。 目录 1、打开w文件 1.1、使用Shell提供的方法 1.2、使用弹出窗口打开 1.3、模拟门户的做法 2、打开html等其它类型的文件 2.1、使用打开w文件的方法 2.2、使用a链接跳转 2.3、页面重定向 2.4、使用w
修改superset前端文件,(superset-frontend文件夹下的文件)。npm run dev-server 和 superset run -p 8088前后端分别启动,访问前端链接,会发现对前端界面的修改是已经生效的。。。。。但是npm run -p 8088直接运行superset项目,访问对应的链接,发现前端的修改没有生效,(修改后,有重新打包前端项目,打包成功,在superse
在教程的帮助下,我编写了一个服务人员: 它总是先从缓存服务,然后获取所有文件,并在页面重新加载时更新。 Service Worker在我的服务器上的每个超文本标记语言文件中都是这样注册的: 现在的问题是,当我转到一个尚未缓存的页面时,它首先向我显示默认的Chrome错误(以及“不匹配”promise拒绝)。 软件会在向客户机显示错误页面的同时获取它,并在重新加载时再次工作(因为它是从缓存提供服务的