【发布时间】:2021-08-14 18:53:06
【问题描述】:
我这里有以下情况,我得到了2个片段:
LoginFragment : BaseAuthFragment
RegFragment : BaseAuthFragment
和相应的视图模型:
LoginViewModel : BaseAuthViewModel
RegViewModel : BaseAuthViewModel
LoginFragment 有一个 LoginViewModel 对象 RegFragment 有一个 RegViewModel 对象 BaseAuthFragment 有一个 BaseAuthViewModel 对象
我使用 Koin 进行依赖注入,因此 BaseAuthFragment 中的 viewModel 对象声明是这样的:
private val viewModel: BaseAuthViewModel by viewModel()
BaseAuthViewModel 为 Login && Reg 片段保留公共 livedata 可观察对象,例如加载、错误等。
我想要实现的是,我想从 BaseAuthFragment 内部的 BaseAuthViewModel 观察那些常见的 Livedata 对象,这样我就不必单独复制 LoginFragment && RegFragment 中的代码。
但是在 LoginFragment && RegFragment 内部我应该已经有 LoginViewModel 和 RegViewModel,它们是 BaseAuthViewModel 的子级,所以有可能以某种方式覆盖子片段中的 viewModel 对象类型吗?
【问题讨论】:
标签: java android kotlin mvvm koin