[英]hiltViewModel<ViewModel>() vs by viewModels()
(这可能不相关,但我无法在任何地方找到答案,这一直困扰着我)
在创建和审查使用 dagger-hilt 的应用程序时,我注意到大多数人为了创建他们的 viewModel class 的实例,使用类似
val viewModel: XViewModel by viewModels()
和一些使用
val viewModel = hiltViewModel<XViewModel>()
这两者之间有什么区别吗?
两者都将使用 hilt 创建一个视图 model 实例,但不同之处在于下面的这个实例用于为片段创建视图 model,您不能在可组合屏幕中使用它:
val viewModel: XViewModel by viewModels()
第二个是新的,带有 Jetpack Compose,您可以在可组合屏幕中使用它,它将创建一个视图 model 实例,只要您的屏幕在导航堆栈中,该实例就会保持活动状态:
val viewModel = hiltViewModel<XViewModel>()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.