我有一个应用程序,我可以在普通窗口上使用弹出视图。 为了获取用户需要登录的数据,我有一个令牌。 如果没有令牌,有没有人体验过这种方式,先显示一个视图,然后再前往你前往的地方?
更清楚地说明:
public void Init()
{
if (!CheckToken())
{
Task.Run(() => ShowViewModel<InsertPasswordViewModel>())
.ContinueWith(t => GetData());
}
else
{
//Do your thing
GetData();
}
}
现在的问题是该任务已运行,因此显示了视图并立即启动GetData,但他没有令牌和崩溃。
欢迎任何想法或修复
答案 0 :(得分:1)
您不应该在Init
中进行导航。您实际上是在远离您正在导航的页面中导航。 <{1}}被调用时导航尚未完成。
您也没有从Init
获得结果,因此当您完成ShowViewModel
中的所有操作后,您无法依赖返回任何内容。
您可能正在寻找的是导航到InsertPasswordViewModel
,并通过某种参数告诉您来自哪里。然后让ViewModel
使用该参数在密码正常后导航回来。
您可能也希望修改视图层次结构,您可以通过自定义演示者和一组演示提示来完成。