【问题标题】:Loading data only one time with ViewModel [closed]使用 ViewModel 仅加载一次数据 [关闭]
【发布时间】:2021-12-28 14:17:36
【问题描述】:

我使用 jetpack compose 和 MVVM 架构构建了一个 Android 应用程序。在主屏幕上,我从 API 加载一些数据并将其存储在本地,它工作正常,但是当我导航到另一个屏幕并返回主屏幕时,数据再次重新加载,怎么可能只加载一次数据?

【问题讨论】:

  • 你是否在 ViewModel 构造函数中加载数据?
  • @Zain 是来自使用刀柄的存储库
  • “数据再次重新加载”到底是什么意思。它是否再次从服务器获取,而不是使用缓存数据?屏幕是否再次更新,这是您不想要的?
  • stackoverflow.com/help/how-to-ask - 请提供说明您的问题的信息(如代码示例)。 “我的应用程序执行 X,但我不希望那样”不是一个好问题。

标签: android mvvm viewmodel android-jetpack-compose android-jetpack


【解决方案1】:

ViewModel

class mViewModel : ViewModel(){
 init{ 
  // Load Logic Thine, Here.
 }
}

可组合物

private val viewmodel = viewModel<mViewModel>()

活动范围:

private val viewmodel by viewmodels<mViewModel>()

init 仅在创建模型时加载,因此这正是您在此处所需要的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-27
    • 2018-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多