繁体   English   中英

GWTP Presenter和View保留旧值

[英]GWTP Presenter and View retaining old values

我正在使用GWTP,我的所有演示者都扩展了Presenter类。 如果我从A导航到B,然后又回到A,则代替新值,仍然以表格A的形式显示旧值,就像它在显示旧值的副本一样。

如何使应用程序创建Presenters的新实例以避免显示旧值?

Presenter和View实例化通常很昂贵,因此GWTP建议同时使用这两个实例,因为Presenter会保留该实例,使其表现得像内部单例,因此视图是不必要的。 在这种情况下,根据您的当前工​​作方式,只需在生命周期阶段“ prepareFromRequest”,“ onReveal”或“ onReset”之一中重置演示者状态即可。

请注意,这样做比看起来容易得多,如果您的视图与演示者不同步(应属于您的情况),只需将代码从更新频率较低的生命周期(例如,构建或onBind)移至然后更新一次(例如onReveal或onReset),则每当您浏览演示者并显示视图时,它将被正确更新,并且单例问题将变得无关紧要。

如果您确实要创建一个非单一的演示者,则可以手动进行绑定,而不是使用AbstractPresenterModule#bindPresenter。 如果您尝试在多个位置引用演示者,这可能会有些危险,并且演示者在重置期间也将是相同的,但是我认为这将是每次展示的新实例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM