提问人:cluster1 提问时间:11/5/2023 更新时间:11/5/2023 访问量:78
viewModel by viewModels:“by”是什么意思?
viewModel by viewModels: What does "by"?
问:
有人可以解释一下“by”在这里的作用吗?
val viewModel by viewModels<ProductsVM>()
这段代码是如何工作的?那里会发生什么?
答:
3赞
Darian-Cătălin Cucer
11/5/2023
#1
用于属性委派。使用 声明属性时,将属性的 getter 和 setter 调用到对象。by
by
viewModels
它是 Jetpack 库中架构组件的一部分。 是 MVVM (Model-View-ViewModel) 架构中使用的属性,用于保存或创建活动或片段。viewModels
val viewModel by viewModels<ProductsVM>()
viewModel
是 Activity 或 Fragment 中的属性,并将其委托给 的 。该行获取与范围关联的内容。如果 已经存在,它将被返回,否则,它将被创建。viewModels
ProductsVM
ProductsVM
ViewModel
ViewModel
使用句柄 to 以正确创建和保留关联的 .viewModel by viewModels<ProductsVM>()
viewModel
viewModels
ProductsVM
ViewModel
评论