繁体   English   中英

hiltView模型<viewmodel> () 对比 viewModels()</viewmodel>

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM