1

一般来说,哪种方法更适合 ViewModel 初始化?

积极的

初始化视图模型类的实例,然后执行它自己的任何数据收集(填充用于下拉列表等的列表)。

被动的

视图模型类的一个实例被初始化,但调用者随后也会填充视图模型对象的属性(用于下拉列表等的列表)。

我认为我更喜欢第一种方法,因为看起来那些“对话框”视图模型会更有用,但是在调用视图模型已经拥有一些数据的情况下,将其传入可能是有益的。

提前谢谢了。

4

1 回答 1

0

虽然我更喜欢这种Active方法,但我想你可以采用混合方法。

由于大多数 VM 属性都是公开的(用于绑定),因此您可以通过属性设置器进行分配,将您拥有的任何值从调用 VM 传递到对话 VM。

当对话框激活时(我假设它将具有生命周期,因为它是一个对话框)然后您可以检查是否尚未设置任何属性,并加载缺少的内容。

当然,我可能会采用“主动”方法——大多数对话框不需要加载大量数据,但您的里程可能会有所不同。

于 2013-01-04T10:56:55.820 回答