我认为“问题”对MVP也有效,但在我的情况下,我试图将其用于MVI。
用例
我有一个主视图,显示数据列表(每个数据都是一个列表本身)和一个详细视图,显示视图寻呼机中的单个项目数据列表。
我允许删除详细视图中的项目,这意味着,我必须更新详细视图和主视图(例如,主视图可能会显示每个项目的子项目数,因此必须更新此编号)
问题
如何解决这个问题?
观
每个级别的演示者都订阅一个全局主题,删除作业会向此全局主题发送MainPartialState
和DetailPartialState
,以便每个视图都可以正确更新ViewState
。
是否有更好的方法可以在外层的app逻辑中处理内层的部分状态?
答案 0 :(得分:0)
Presenter都应该观察管理项目的相同业务逻辑部分。例如:您从哪里加载物品?它们是从数据库加载的吗?在该示例中,MainPresenter和DetailsPresenter观察相同的数据库,每当您从数据库中删除项目时,都会通知Presenter。