【发布时间】:2019-12-23 13:33:56
【问题描述】:
有没有办法在导航到特定的 ViewModel 后清除整个导航堆栈(ViewModel 和 View)?在这种情况下,我需要在用户注销时销毁导航堆栈。据我了解,MvxPopToRootPresentationHint 仅在 LoginViewModel 首先位于导航堆栈的根目录时才有帮助。
我还应该提到,我在 Android 上的堆栈包含活动和片段,我最终需要导航到片段(因此在这里使用带有 CLEAR_TOP 的意图很困难):
InterstitialContainerViewModel (NoHistory = true on Activity)
InterstitialViewModel
↓
LoginContainerViewModel (NoHistory = true on Activity)
LoginViewModel
↓
MainContainerViewModel
MainViewModel && MenuViewModel
↓
LogoutAsync
↓
Should give me a new instance of LoginContainerViewModel/LoginViewModel
with no other ViewModels, Activities, or Fragments in the stack
理想情况下,我希望在共享代码中独立于平台执行此操作,但如果实现此流程需要自定义演示者代码,那也没关系。
【问题讨论】:
标签: mvvmcross