视图模型或视点框架是一个框架,它定义了一系列用于构建体系结构的视图。视图是从一组相关关注点的角度表示整个系统。
因此,我拥有这个ASP.NET MVC项目,在该项目中,我创建了一个服务层,模型视图,控制器和视图页面。但是我很难将结果显示到查看页面。我开始这个...
正如标题所示,我正在尝试确定在多模块项目中实现共享 ViewModel 的最佳方法。 这是我目前使用的方法: 在我的应用程序模块中,我有 Na...
来自数据类的未解析引用 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 对象。
我正在开发一个需要秒表的应用程序。我想使用文本块显示经过的时间。我的问题是,视图没有更新,但我可以使用 ICommands。 这里我分配
我正在为我的期末大学项目(论文)开发一个 WPF 应用程序。目标之一是能够动态更改 UI 的语言。我认为这样做不是一个好主意...
我的应用程序将每隔几个小时从 ViewModel 获取一个新字符串,并将其作为通知文本显示给用户。问题是我不知道如何从 ViewMo 获取字符串...
BottomSheetDialogFragment 中的 RecyclerView 中的数据未更新
我的 Android 应用程序中有一个 BottomSheetDialogFragment,其中包含 RecyclerView。 RecyclerView 的数据正在从套接字连接中一一接收。我需要将这些项目添加到
如何处理调用存储库并在两个单独的 ViewModel 中使用的函数
我有两个包含相同功能的 ViewModel。该函数调用接口/存储库以从数据库检索数据,然后该函数操作该数据。 这是我的理解...
我对MVVM有点陌生,我有一个复杂的模型List>,我们称它为板,我想将它绑定到WPF中的画布,画布应该充当每个矩形的矩形映射
Hilt 注入顺序不一致导致 Compose ViewModel 中出现 NullPointerExceptions
我目前正在使用 Compose 和 Hilt 开发一个应用程序,偶尔(根据我的自动化测试,1000 次中不到 10 次),对 ViewModel 的调用顺序会有所不同,导致...
我应该如何对具有从 api 获取令牌的函数的视图模型进行单元测试?
我一直在做我的这项作业。对视图模型进行单元测试。但视图模型实际上从 api 获取令牌。为代币制作一个假人是对的吗?我也有一个问题要问...
我尝试注入的对象之一捕获 lambda 中的引用。该 lambda 用作更新我的 viewModel 的回调。我如何使用 koin 来注入该对象? 工作代码...
我有一个关于 C#/WPF 的 MVVM 设计的问题。我看过几个演示应用程序,但它们并没有真正解决我的问题。 我的应用程序由包含其他对象的对象组成
如何使用 Hilt 为 viewpager 中的片段创建不同的视图模型实例(范围为父片段)
我有一个片段 HomeFragment,它是应用程序导航图的一部分。在 FragmentHome 中,我有一个 viewpager,其中包含 3 个同一类 ChildFragment 的片段实例。每个 ChildFragment 都需要一个
我有一个抽象类: 抽象类 MyFirstViewModel( 私有valfirstParamArgs:FirstParamArgs, private val secondaryParam: SecondParam):ViewModel(),ActionHandler{ 覆盖有趣的handleAction(