簡體   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