【发布时间】:2020-01-26 18:30:44
【问题描述】:
我在我的项目中使用 MVVM 模式。这是伪代码。
class ViewModelA {
propertyA;
methodA(); // updates propertyA
}
class ViewModelB {
methodB() {
// update properties of ViewModelB
// Needs to update propertyA of ViewModelA
}
}
我有两个视图模型 ViewModelA 和 ViewModelB。 ViewModelB的MethodB需要更新ViewModelA的propertyA。
我可以在 ViewModelB 中保留 ViewModelA 实例的引用,并调用 methodA 来更新 ViewModelA 的 propertyA。将一个视图模型的引用保留在 MVVM 模式中的另一个视图模型中是一种好习惯吗?另外,想知道视图模型可以更新其他视图模型属性的其他方式。
【问题讨论】:
-
查看发布/订阅机制,例如事件聚合器。大多数情况下,您不希望虚拟机相互依赖,但有时也可以,但这实际上取决于使用情况
标签: design-patterns mvvm software-design solid-principles