我有多个步骤(步骤是动态的,比方说它的4个)移动屏幕,其中我可以$navigateBack()
从第4步到第3步,从第3步到第2步,从第2步到第1步。所以一切正常。
现在,完成每个步骤后,我可以直接$navigateTo()
直接进入主屏幕(从这里导航到步骤),但是在点击后退箭头后,其导航到上一个后退堆栈条目,这意味着最后一步4。想要避免这种情况,并想要导航以提取主屏幕的上一个屏幕。
如果我在clearHistory
上使用$navigateTo()
标志,那么它将完全清除导航历史记录。
如果我使用backstackVisible
标志,则它将停止内部后退导航。
在完成最后一步之后,是否可以通过任何方式导航到主屏幕,然后在向后轻击时可以登陆到主屏幕上正确的先前屏幕? 完成第4步后,如何才能仅清除所有动态步骤的堆栈?
有人可以解释一下$ navigateBack中的options和backStackEntry如何工作(options,backstackEntry = null),因为https://nativescript-vue.org/en/docs/routing/manual-routing/#navigateback中没有添加任何细节
任何帮助将不胜感激。
答案 0 :(得分:0)
我认为在您的情况下,您可以使用Modal View Navigation-在主屏幕上打开“模态视图”,然后在此“模态视图”中引导用户扔自己的脚步,从上一步何时需要返回主界面屏幕上,关闭“模式视图”。
答案 1 :(得分:0)
在您的特定情况下,我认为在具有自己框架的模式中打开步骤会更有意义。这样,模态内的导航堆栈便与主导航堆栈完全分开,并允许您根据需要向前/向后导航。完成这些步骤后,您可以关闭模式并返回结果,并且主导航堆栈将不受影响!
我在此处创建了所建议解决方案的最小演示:https://play.nativescript.org/?template=play-vue&id=SJdejN