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