【发布时间】:2018-02-23 12:14:09
【问题描述】:
我有一个执行操作的视图模型,当执行此操作时,必须禁用其他视图模型的 UI。我的问题是谁应该为禁用负责?我应该从第一个视图模型调用第二个类似禁用方法的方法。还是应该第一个 viewmodel 只触发一个事件,执行该操作,然后第二个 viewmodel 将处理该事件并禁用 ui?
【问题讨论】:
-
视图模型不应相互依赖。大多数时候,禁用 GUI 中的功能是必要的,因为在数据模型的当前状态下不允许使用用例。在这种情况下,数据模型本身必须提供此信息。因此,第一个视图模型会更改数据模型,这会触发导致第二个视图模型更新的事件。