cluster1 Asked: 2023-11-05 17:16:09 +0800 CST2023-11-05 17:16:09 +0800 CST 2023-11-05 17:16:09 +0800 CST viewModel by viewModels:“by”是什么意思? 772 有人能解释一下“by”在这里的作用吗? val viewModel by viewModels<ProductsVM>() 这段代码分别是如何工作的?那里会发生什么? 2 个回答 Voted Best Answer Darian-Cătălin Cucer 2023-11-05T20:47:21+08:002023-11-05T20:47:21+08:00 用于by财产委托。当您使用 声明属性时by,您会调用该对象的属性的 getter 和 setter。 viewModels它是 Jetpack 库中架构组件的一部分。是MVVMviewModels (模型-视图-视图模型)架构中使用的属性 ,用于保存或创建活动或片段。 val viewModel by viewModels<ProductsVM>() viewModel是 Activity 或 Fragment 中的一个属性,并将其委托给viewModelsof ProductsVM。该行获取ProductsVM ViewModel与范围关联的内容。如果ViewModel已经存在则返回,否则创建。 使用viewModel by viewModels<ProductsVM>()来viewModel正确viewModels创建和保留关联的ProductsVM ViewModel。 Abdelrahman MOhamed 2023-11-05T18:11:25+08:002023-11-05T18:11:25+08:00 它返回一个属性委托。 您可以查看此链接以获取更多信息 开发博客文章
用于
by
财产委托。当您使用 声明属性时by
,您会调用该对象的属性的 getter 和 setter。viewModels
它是 Jetpack 库中架构组件的一部分。是MVVMviewModels
(模型-视图-视图模型)架构中使用的属性 ,用于保存或创建活动或片段。使用
viewModel by viewModels<ProductsVM>()
来viewModel
正确viewModels
创建和保留关联的ProductsVM
ViewModel
。它返回一个属性委托。
您可以查看此链接以获取更多信息 开发博客文章