我正在学习MVVM设计模式,并试图在Android应用程序中实现它。我想知道ViewModel中的更改是如何反映在视图中的。互联网上的不同指南显示了不同的东西,其中一些人建议ViewModel (可观察的)应该通知视图(观察者)的更改,而不是活动/片段更新ViewModel并触发视图更新。
实现这一点的正确/最佳方式是什么?如果我的ViewModel不是可观察的,那么我是不是没有正确地遵循MVVM?
发布于 2015-09-18 20:36:19
通常,View必须知道ViewModel,ViewModel必须知道Model,但是将 Model暴露给View。它看起来像这样:
视图-知道-> ViewModel -知道->模型。
这是至关重要的,这些箭头保持在这个方向,如果Model知道ViewModel,那么所有好的解耦就会丢失。
当属性发生更改时,ViewModel有责任发出通知,任何正在倾听(您的观点)的人都应该采取相应的行动。
我建议花点时间浏览一下this教程。
https://stackoverflow.com/questions/32644668
复制相似问题