【发布时间】:2015-01-19 13:22:24
【问题描述】:
我正在编写 Xamarin.iOS mvvmcross 应用程序。
每当显示视图模型时,我都会保存视图模型请求列表。
然后,如果按下后退按钮,则删除最后一个视图模型请求,并显示上一个视图模型。
var loaderService = Mvx.Resolve<IMvxViewModelLoader>();
var viewModel = loaderService.LoadViewModel(lastRequest, null/*saved state*/);
var myVC = this.CreateViewControllerFor(viewModel) as MyViewModelView;
NavigationController.PushViewController(myVC, true);
这在显示没有参数的视图模型时效果很好。
但如果视图模型有参数,它会显示旧参数。
如何显示具有最新参数的视图模型?
PS:让我详细解释一下我的情况
我有 3 个触摸视图。 View1 有一个动物表,当我单击表上的一个项目时,应用程序将导航到 View2,AnimalDetailView。
当我单击视图中的编辑按钮时,会出现 View3、AnimalEditView。
有 3 个视图模型,每个视图模型用于每个视图。
我在 View3 中更改并保存动物名称后,它已正确保存在 AnimalEditViewModel 中。
但是当我点击 View3 中的自定义后退按钮时,View2 会出现以前的动物名称。
为了显示 View2,我使用了上面的代码。
我想在 View2 中反映最新的动物名称。
你有什么建议吗?
【问题讨论】:
标签: xamarin viewmodel mvvmcross