如何在Nativescript-vue中导航回特定的组件或Backstack条目?

时间:2019-04-03 13:21:02

标签: nativescript nativescript-vue

我有多个步骤(步骤是动态的,比方说它的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中没有添加任何细节

enter image description here

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

我认为在您的情况下,您可以使用Modal View Navigation-在主屏幕上打开“模态视图”,然后在此“模态视图”中引导用户扔自己的脚步,从上一步何时需要返回主界面屏幕上,关闭“模式视图”。

答案 1 :(得分:0)

在您的特定情况下,我认为在具有自己框架的模式中打开步骤会更有意义。这样,模态内的导航堆栈便与主导航堆栈完全分开,并允许您根据需要向前/向后导航。完成这些步骤后,您可以关闭模​​式并返回结果,并且主导航堆栈将不受影响!

我在此处创建了所建议解决方案的最小演示:https://play.nativescript.org/?template=play-vue&id=SJdejN