[英]What is the difference between ViewModel that extends BaseObservable and Android ViewModel Class?
[英]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.