繁体   English   中英

android - view 和 viewModel 之间的 1:n 关系是什么

[英]android - What is the 1:n relationship between view and viewModel

我知道视图和视图模型是 1:n。 但是,在大多数示例中,每个活动都有一个视图模型。 例如)mainActivity - mainViewModel、userListActivity - userListViewModel

如果是 1:n 关系,不应该像下面这样吗? 例如)mainActivity - viewModel、userListActivity - viewModel

1:n 是什么意思? 这是否意味着一个视图模型中有 n 个活动? 这是否意味着一个视图模型中有 n 个 xml 文件?

是的,常见的用例是1:1 但理论上你可以有多个ViewModel服务于一个视图,所以这就是1:n关系的原因。

实际上,如果您想在两个视图之间共享ViewModel ,或者当您拥有共享的Flow ViewModel时,这可能会很有用

因此,基本上在该流程中,每个View都可以与两个ViewModel通信:共享一个和一个特定于该视图:

  • 想象一下一个SignUp流程,有两个屏幕用户凭据(电子邮件、密码等),另一个屏幕有一些偏好(如会员资格、通知、地址或其他应用程序特定设置)
  • 在这种情况下, SharedFlowViewModel可以保存所有用户信息,并且在最后一个屏幕上, Submit将发送请求。 具有单个ViewModel的所有其他屏幕将只处理单个屏幕逻辑:表单验证、输入启用/禁用等...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM