SuperAPI AI 工具集

mvvm

前端与建站

查看项目

更新于 10-15 21:49

技能介绍

用途:MVVM 是一种带双向数据绑定的架构模式,用于把界面与业务逻辑分离,适合移动应用(SwiftUI、Compose)、桌面应用(WPF、macOS)以及响应式 UI 框架,并让 UI 逻辑可脱离界面进行测试。

主要能力:核心是 ViewModel 层。ViewModel 持有并暴露可观察状态,View 订阅这些状态并自动更新。资料给出 SwiftUI 示例:用 @Observable 定义 UserViewModel,包含 user 与 isLoading 状态及异步 loadUser(id:) 方法,View 通过 @State 持有 ViewModel 并根据 isLoading 与 user 渲染。Android Compose 示例用 ViewModel 配合 MutableStateFlow/StateFlow 暴露状态,在 viewModelScope 中加载数据,Composable 用 collectAsState 订阅。数据绑定示例为 Angular 风格,模板中用 [(ngModel)] 绑定 user.name。

使用方式:先定义 ViewModel 并封装状态与加载逻辑,再让 View 只负责订阅和展示;异步加载在 ViewModel 内完成,View 根据状态分支渲染。

最佳实践:保持 View 被动,ViewModel 不引用 View,从而可无 UI 测试。

限制:资料未提供具体安装命令、依赖版本、平台支持范围、收费或性能数据,这些暂未提供。