我目前正在设计一个简单的编辑器,作为学习过程的一部分。它基本上是多边形-线条-点的分层树结构,在数据模型中实现。我需要在两个视图中显示这些数据。
第一个视图:树形视图中的分层数据
第二个视图:屏幕上呈现的几何图形
按照MVVM模式,我已经围绕数据模型实现了模型视图类(点模型视图,线模型视图等)。在树形视图中,我使用分层数据模板来正确显示特定数据。在第二个视图中,我需要呈现几何图形的当前状态,目前只是一个包装多边形数据类的模型视图,它遍历所有子项并在onRender方法中呈现它们。在这种情况下,我在相同的数据上使用多个视图模型,用于非常不同的目的。
当我在树形视图模型中进行一些修改(例如添加点)时,会导致底层数据模型的更改。但是,第二个视图模型不直接观察模型视图中的数据,它仅在我通过其模型视图类进行修改时更新呈现视图。是否有一些优雅的解决方案可以同时更新两个视图模型?