如何导航回 Nativescript-vue 中的特定组件或后台堆栈条目?

How can I navigate back to specific component or backstack entry in Nativescript-vue?

我有多个步骤(步骤是动态的,比如说它的 4 个)移动屏幕,我可以在其中 $navigateBack() 从背面的第 4 步到第 3 步,第 3 步到第 2 步,第 2 步到第 1 步箭头水龙头。所以它工作正常。

现在,在完成每个步骤后,我可以直接 $navigateTo() 主屏幕(从我导航到步骤的地方),但是在我点击后退箭头后,它导航到上一个后退堆栈条目,这意味着最后一个步骤 4 .我想防止这个,想导航到提取主屏幕的上一个屏幕。

如果我在 $navigateTo() 上使用 clearHistory 标志,那么它会完全清除导航历史记录。

如果我使用 backstackVisible 标志,它会停止内部后退导航。

有没有什么方法可以让我在完成最后一步后导航到主屏幕,然后在返回时我可以登陆到主屏幕的正确上一个屏幕? 完成第4步后,如何只清除所有动态步骤的堆栈?

谁能解释一下 options 和 backStackEntry 在 $navigateBack(options, backstackEntry = null) 中是如何工作的,因为 https://nativescript-vue.org/en/docs/routing/manual-routing/#navigateback

中没有添加任何细节

如有任何帮助,我们将不胜感激。

我认为对于您的场景,您可以使用 Modal View Navigation - 从主屏幕打开模态视图,然后在这个模态视图中引导用户执行步骤,当从最后一步开始时,您需要 return 到主屏幕,关闭模态视图。

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

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