gpt4 book ai didi

MVVM:是否允许 ViewModel 相互引用?

转载 作者:行者123 更新时间:2023-12-02 03:09:01 25 4
gpt4 key购买 nike

我是 MVVM 模式的新手,不确定如何处理 View 模型之间的通信。有一个包含多个单元格 View 的表格 View 。我为表格和每个单元格创建了 View 模型:

表 View - 表 View 模型

InputCellView - InputCellViewModel

CheckboxCellView - CheckboxCellViewModel

.....

单元格包含用户输入元素,如文本字段、复选框等。每个 CellViewModel 保存用户在相应单元格中输入的数据。我的问题是,将数据传输到 TableViewModel 的最佳方法是什么?我目前正在考虑将 TableViewModel 的引用传递给每个 CellViewModel,每当用户更改单元格中的某些数据时,CellViewModel 会将其转发到 TableViewModel。这是 MVVM 模式的有效方法吗?或者最好使用某种事件系统来通知 TableViewModel 有关 CellViewModel 中的更改?

最佳答案

我不会传递来自 CellViewModel 的数据到 TableViewModel ,我会把它直接传递给 Table (- Model)。 Table中的更新然后触发 TableViewModel 的更新.

请记住: View 模型为 View 准备数据以供使用,并且它们代表 View (读取:用户)对数据执行更新,但它们不拥有数据。

表数据不属于 TableViewModel ,所以没有人需要问 TableViewModel更改数据的权限,以及 TableViewModel负责显示正确和当前的数据。

所以...

Or is it better to user some kind of event system to notify the TableViewModel about changes in a CellViewModel?



是的,这是首选。但请注意, CellViewModel 中没有任何变化。 , 有更改由 CellViewModel 转发...

关于MVVM:是否允许 ViewModel 相互引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40828707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com