【问题标题】:Can i have Multiple ViewModels being held in a ViewModel?我可以在一个 ViewModel 中保存多个 ViewModel 吗?
【发布时间】:2011-12-06 09:19:14
【问题描述】:

我想知道您对拥有一个包含其他 ViewModel 集合的 ViewModel 有何想法。

例如,如果我有一个股票价格屏幕。在 MainView 我希望能够选择股票代码。当我按下 MainView 上的 ADD 按钮时,它应该在 MainView 中显示一个新的股票价格。

我的问题是关于添加按钮应该如何工作?

MainView 上的 Add 按钮应该执行以下两个选项中的哪一个:

1) 将股票代码 (MSFT) 传递给 StockPriceServiceStockPriceService 将检索 StockPrice 对象。然后我可以将 StockPrice 对象传递给 StockPriceViewModelMainViewModel 将包含 StockPriceViewModel 的集合。

2) 将股票代码 (MSFT) 传递到 StockPriceViewModelStockPriceViewModel 将被实现以调用 StockPriceService 并检索 StockPrice 对象。 StockPrice 对象将被包裹在 StockPriceViewModel 中。

谢谢,

加拿大

【问题讨论】:

    标签: mvvm


    【解决方案1】:

    如果 Add 按钮是 MainView 的一部分,那么它的事件确实应该由 MainViewModel 处理,并通过 StockPrice 相关代码访问 StockPriceViewModel 和 StockPrice 对象的数据。

    看待这个问题的方法是,您应该仍然能够显示带有填充数据的 StockPriceViewModel,而无需求助于任何其他 ViewModel 中的任何代码,但在这种情况下,触发新的创建/实例化的是 MainViewModel StockPriceViewModel 等

    这意味着主要使用方法 2,例如将初始化值传递给 StockPriceViewModel 构造函数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多