Android mvvm应该使用2个ViewModel,在两个视图中使用1个ViewModel,还是在父活动中使用1个ViewModel?

问题描述 投票:0回答:1

考虑到这样的情况:ProfileActivity和EditProfileActivity都是从BaseActivity扩展而来的,那么每个活动是否应该有自己的ViewModel(ProfileViewModel和EditProfileViewModel),在两个活动中使用相同的ViewModel,还是从父活动中继承模型,但在每个活动中反过来?

谢谢,谢谢

android mvvm viewmodel
1个回答
0
投票

这取决于你的ViewModels的范围。如果你想让你的活动相互通信,那么你可以创建一个范围为BaseActivity的BaseViewModel,并使用它在ProfileActivity和EditProfileActivity之间进行IPC,因为它们消耗了BaseActivity。

你也可以创建三个viewModel,每个viewModel一个。用BaseViewModel来做IPC,用ProfileViewModel和editProfileViewModel来做委托,在这里,活动本身会很轻巧,会把一切的事情委托给它们的viewModel。这可以通过LiveData观察员和DataBinding的结合来实现。

© www.soinside.com 2019 - 2024. All rights reserved.