c# - 将一个 ViewModel 移动到另一个 ViewModel 时如何调用服务
问题描述
我有LandingPageViewModel
GetHomework Button
。如果我点击 GetHomeworkButton
它需要HomeworkPageViewModel
.
现在的问题是,在哪里调用我的服务来获取作业数据?
在LandingPageViewModel
sGetHomeworkExecute()
方法中并将所有作业记录保存在公共可访问变量中,或者用于NavigationParameter
传递到下一页然后使用它(如果在全局变量中保存记录,则HomeworkPageViewModel
在其他s 中使用)。ViewModel
或者
在HomeworkPageViewModel
s OnNavigatingTo()
(我认为充当 onload)方法被覆盖INavigatedAware
ViewModel
将一个移动到另一个时调用该服务的好方法是什么?
解决方案
我将它放入HomeworkPageViewModel
,可能在构造函数中(除非它是一个async
调用)。理由:如果HomeworkPageViewModel
可以做到(因为它不需要额外的信息),那就让它去做。尽量不要分散东西,把你的代码放在一起。
推荐阅读
- haskell - 我可以在我的 stack.yaml 中省略或指定“解析器”的“虚拟”值吗
- javascript - 根据 DIV 文本在数组中查找索引
- cmake - CLion工程文件可以默认存放在指定文件夹吗?
- r - 如何逐个元素地组合数据框中的两列?
- java - Java REST 调用从 eclipse 和 jar 执行给出不同的响应
- matlab - 用于生成某些形状的一些有符号距离场的 Matlab 代码
- pip - Pip 安装问题 EnvironmentError
- c - 检测是否只给出整数的程序进入无限循环
- graphql - AWS Appsync:如何创建一个解析器来检索标识符数组的详细信息?
- asp.net-mvc - 如何在 asp.net MVC 的单独程序集中从 Controller 读取 Cookie