【发布时间】:2018-10-17 23:32:15
【问题描述】:
我知道这是一个模糊的问题,但我如此专注于 MVP 设计,多年来,我决定让自己保持最新状态并决定冒险进行 MVVM 架构设计,我已经一直在阅读很多关于 MVVM 遵循的 Stream/Observer 模式的博客、示例和资料,但是我不清楚什么(找不到非常简单的代码)MVVM 如何处理 ui 事件?比如点击?在 MVP 中,view 和 Presenter 有一个双向契约来处理这样的事情
// called by view
presenter.onViewButtonClicked
void onViewButtonClicked() {
// do something here that business logic requires
view.doSomethingAfterPresenterReceivedClickEvent()
}
我知道 MVVM 中的 View 订阅 ViewModel,当数据(模型)发生问题时,View 会对它做出反应 p>
现在,我如何告诉 ViewModel 我点击了某些东西? (PS:我知道当我点击某些东西时我必须订阅 ViewModel 才能听到任何更改),我只需要一些指导和示例,我如何告诉 VM 我是故意做某事的。 p>
我阅读了 Microsoft 的 MVVM 文档,其中提到了一些关于 iCommand 的内容,这是一种类似于合同的东西,用于告诉 MVVM 发生了 UI 事件。
有没有人能启发我...提前谢谢
编辑:我忘了说,我没有使用 DataBinding,由于公平的利弊,我决定不使用。
【问题讨论】:
标签: mvvm architecture mvp