nativescript - Nativescript:使用 showModal 的 ModalDialogService 页面导航无法正常工作
问题描述
问题 - 我们在 showModal 上有一个关闭回调,理想情况下应该将用户导航到另一个页面。但是,当模式对话框关闭时,用户将导航回基本页面,而不是要导航的页面。
所以导航应该作为登录 -> 员工列表作为登录 -> 员工列表 -> 登录(由于额外的子路由处理而返回)
重现问题的代码可以在https://play.nativescript.org/?template=play-ng&id=lrIrYT&v=5找到
重现步骤
- 应用程序在主屏幕上启动
- 点击登录点击
- 弹出窗口出现。单击选择按钮。
- 您应该被路由到员工页面。(理想情况下)根据导航。
- 如果您正确路由到员工列表页面,请单击返回并移动到主页并重复从 1 到 4 的步骤。
- 上面提到的问题应该被复制。
解决方案
正如@Nickliev 所建议的那样
setTimeout(() => { this._routerExtensions.navigate(['/staff-list', '10']); }, 1)
“我猜是简单的竞争条件,其中关闭回调(有时)在路由导航(返回主页)之前触发。因此,在这种情况下,模式已关闭>>您正在导航>>本机脚本正在导航(为时已晚)。使用 setTimout 保证里面的代码将在下一个 javascript 传递(VM 相关)中执行,因此:模式关闭 >> nativescript 导航 >> 你的导航“
推荐阅读
- node.js - Cassandra 循环读取
- uwsgi - 让多个 uWSGI 工作者的一个实例执行一项额外的功能
- spring-mvc - Thymeleaf + Spring:如何在模板文件中写入“[]”?
- javascript - node.js 将 xml 转换为 json
- c# - 如何将图像文件存储在文件夹mvc中
- angularjs - 在 es6 模块中导入时未注册 AngularJs 控制器
- javascript - 只为所有人显示一个工具提示。Highstock highcharts
- ios - 如何使用 Xcode 工作区中生成的框架中的自定义字体
- sql - 在sql中查找最近或最近的路径
- python - 克服 TextX 解析器中的无限左递归