viewmodel 相关问题

视图模型或视点框架是一个框架,它定义了一系列用于构建体系结构的视图。视图是从一组相关关注点的角度表示整个系统。

来自数据类的未解析引用 uiState = uiState.copy

我的模型库中有一个数据类 数据类 ExperiencesUiState( val experienceItems: Result> = Result.success(emptyList()), val userMessages:列表 我的模型库中有一个数据类 data class ExperiencesUiState( val experiencesItems: Result<List<Experiences>> = Result.success(emptyList()), val userMessages: List<String> = emptyList() ) 我在 ViewModels 库中的另一个类/模块 ExperiencesViewModel 中使用复制函数,如下所示,但出现以下错误: 未解决的参考“复制”。 对于两个复制语句,uiState = uiState.copy.... class ExperiencesViewModel( private val repository: ExperiencesRepository ) : ViewModel() { // UI state is backed by a mutable state var uiState = mutableStateOf(ExperiencesUiState()) private set private var fetchJob: Job? = null fun fetchExperiences() { fetchJob?.cancel() fetchJob = viewModelScope.launch { try { // Fetching experiences data val experiences = repository.getAllExperiences() uiState = uiState.copy(experiencesItems = Result.success(experiences)) } catch (ioe: IOException) { // Explicitly specify the type for Result.failure uiState = uiState.copy( experiencesItems = Result.failure<List<Experiences>>(ioe)) } } } } 视图模型的梯度 dependencies { implementation(libs.androidx.core.ktx) implementation(libs.androidx.appcompat) implementation(libs.material) implementation(project(":repositories")) implementation(project(":models")) implementation(libs.androidx.lifecycle.viewmodel.android) testImplementation(libs.junit) androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.androidx.espresso.core) implementation(platform(libs.androidx.compose.bom)) androidTestImplementation(platform(libs.androidx.compose.bom)) implementation("androidx.compose.runtime:runtime:1.7.6") implementation("androidx.compose.runtime:runtime-livedata:1.7.6") implementation("androidx.compose.runtime:runtime-rxjava2:1.7.6") } uiState不是ExperiencesUiState,它是MutableState。只有数据类才有 copy 函数,这就是它不能在 MutableState 上使用的原因。 您可能想要做的是复制 MutableState 的 content,而不是 MutableState 本身。您可以使用 value 属性访问内容: uiState.value = uiState.value.copy(experiencesItems = Result.success(experiences)) 也就是说,首先不应该在视图模型中使用 MutableState。将其替换为 MutableStateFlow: val uiState = MutableStateFlow(ExperiencesUiState()) 虽然它也有像 MutableState 这样的 value 属性,但为了使代码线程安全,当你需要 old 值来计算 new 值时,应该使用 update 来代替: uiState.update { it.copy(experiencesItems = Result.success(experiences)) } 在可组合项中,您可以使用 uiState.collectAsState() 将流转换回 Compose State 对象。

回答 1 投票 0

WPF MVVM 不更新视图

我正在开发一个需要秒表的应用程序。我想使用文本块显示经过的时间。我的问题是,视图没有更新,但我可以使用 ICommands。 这里我分配

回答 1 投票 0

属性更改时 WPF 控件不更新

我正在为我的期末大学项目(论文)开发一个 WPF 应用程序。目标之一是能够动态更改 UI 的语言。我认为这样做不是一个好主意...

回答 1 投票 0

如何从ViewModel获取通知文本?

我的应用程序将每隔几个小时从 ViewModel 获取一个新字符串,并将其作为通知文本显示给用户。问题是我不知道如何从 ViewMo 获取字符串...

回答 1 投票 0

BottomSheetDialogFragment 中的 RecyclerView 中的数据未更新

我的 Android 应用程序中有一个 BottomSheetDialogFragment,其中包含 RecyclerView。 RecyclerView 的数据正在从套接字连接中一一接收。我需要将这些项目添加到

回答 1 投票 0

如何处理调用存储库并在两个单独的 ViewModel 中使用的函数

我有两个包含相同功能的 ViewModel。该函数调用接口/存储库以从数据库检索数据,然后该函数操作该数据。 这是我的理解...

回答 1 投票 0

WPF MVVM 多维复杂对象模型绑定和包装

我对MVVM有点陌生,我有一个复杂的模型List>,我们称它为板,我想将它绑定到WPF中的画布,画布应该充当每个矩形的矩形映射

回答 1 投票 0

Hilt 注入顺序不一致导致 Compose ViewModel 中出现 NullPointerExceptions

我目前正在使用 Compose 和 Hilt 开发一个应用程序,偶尔(根据我的自动化测试,1000 次中不到 10 次),对 ViewModel 的调用顺序会有所不同,导致...

回答 1 投票 0

我应该如何对具有从 api 获取令牌的函数的视图模型进行单元测试?

我一直在做我的这项作业。对视图模型进行单元测试。但视图模型实际上从 api 获取令牌。为代币制作一个假人是对的吗?我也有一个问题要问...

回答 1 投票 0

ViewModel 单例与 Koin

我尝试注入的对象之一捕获 lambda 中的引用。该 lambda 用作更新我的 viewModel 的回调。我如何使用 koin 来注入该对象? 工作代码...

回答 1 投票 0

如何在 ViewModel 中呈现(视图)模型集合

我有一个关于 C#/WPF 的 MVVM 设计的问题。我看过几个演示应用程序,但它们并没有真正解决我的问题。 我的应用程序由包含其他对象的对象组成

回答 2 投票 0

如何使用 Hilt 为 viewpager 中的片段创建不同的视图模型实例(范围为父片段)

我有一个片段 HomeFragment,它是应用程序导航图的一部分。在 FragmentHome 中,我有一个 viewpager,其中包含 3 个同一类 ChildFragment 的片段实例。每个 ChildFragment 都需要一个

回答 1 投票 0

如何创建界面的koin模块

我有一个抽象类: 抽象类 MyFirstViewModel( 私有valfirstParamArgs:FirstParamArgs, private val secondaryParam: SecondParam):ViewModel(),ActionHandler{ 覆盖有趣的handleAction(

回答 1 投票 0

如何使用 MVVM 使用 @ObservedObject 触发自动 SwiftUI 更新

我有一个关于 SwiftUI 和 MVVM 结合的问题。 在开始之前,我读过一些讨论 SwiftUI 和 MVVM 的结合是否有必要的文章。但我不想...

回答 4 投票 0

如何在 MVC 5 中搭建视图模型

我正在尝试开发一个简单的应用程序。 我通过实体框架引入了三个 SQL 表,并自动创建了模型。 我希望能够构建创建/详细信息...

回答 4 投票 0

java.lang.RuntimeException:无法创建 ViewModel 类的实例 [Kotlin]

我创建了 Viewmodel 实例,它工作了几次,现在在 MainActivity 中初始化 userPermissionViewModel 时显示错误。 我正在使用 DataStore 保存数据并尝试观察数据...

回答 5 投票 0

我可以对弹出页面类本身定义的属性进行数据绑定吗?

我有一个弹出页面,我想从中返回一个值。所以在它的 c# 文件中,我的代码如下所示: 公共部分类 SelectDb : PopupPage { 任务完成源

回答 1 投票 0

Kotlin 多平台上的 viewModel?

如何在 Kotlin 多平台(iOS、Web、桌面、Android)上导入 androidx.lifecycle.viewmodel.compose.viewModel? 尝试: [版本] androidx-activityCompose = "1.10.0-alpha02" 安德罗...

回答 1 投票 0

在 SwiftUI 搜索栏中应用去抖动

我想在搜索栏中应用去抖或延迟,并允许用户在几毫秒内键入文本并根据用户在搜索栏中的搜索文本来过滤数据。我已经尝试过下面的代码...

回答 1 投票 0

错误:此 PlotModel 已被其他 PlotView 控件使用

我有两个选项卡绑定到一个视图模型,其中包含 oxyplot 的 PlotModel 和通过 DataTemplate 选择的视图模型。 当单击第一个选项卡时,视图模型已正确绑定,但是当

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.