将一个 ViewModel 移动到另一个时如何调用服务

How to call services when moving one ViewModel to another

我有 LandingPageViewModel 与 GetHomework Button。如果我点击 GetHomework Button 它需要 HomeworkPageViewModel.

现在的问题是,在哪里调用我的服务来获取作业数据?

LandingPageViewModels GetHomeworkExecute() 方法中,将所有作业记录保存在 public 可访问变量中,或者使用 NavigationParameter 传递到下一页,然后在 HomeworkPageViewModel(或在其他 ViewModel 中,如果在全局变量中保存记录)。

HomeworkPageViewModels OnNavigatingTo()(我认为是onload)方法被INavigatedAware

覆盖

将一个 ViewModel 移动到另一个时调用服务的好方法是什么?

我会把它放到 HomeworkPageViewModel 中,可能在构造函数中(除非是 async 调用)。理由:如果 HomeworkPageViewModel 可以做到(因为它不需要额外的信息),那就让它去做。尽量不要分散东西,把代码放在一起。