vm 与 view 状态划分原则

在决定状态放置位置时,可以问自己以下问题:
1. 这个状态是否反映了业务逻辑或用户意图?
  • 如果是,应该放在 ViewModel 中
  • 例如:用户是否希望查看菜单(IsMenuShowed)
2. 这个状态是否仅与特定 UI 技术实现相关?
  • 如果是,应该放在 View 中
  • 例如:菜单的动画时间、过渡效果
3. 这个状态是否需要在多个 View 之间共享?
  • 如果是,应该放在 ViewModel 或更高层
  • 例如:全局应用主题设置
4. 这个状态是否需要持久化或与外部系统交互?
  • 如果是,应该从 Model 层派生并通过 ViewModel 公开
  • 例如:用户配置、系统设置

 

posted @ 2025-04-25 15:39  凌枫玖  阅读(10)  评论(0)    收藏  举报