GWTP - 清除演示者数据

时间:2016-05-12 21:19:47

标签: gwt gwtp gwt-platform

清除演示者数据的推荐方法是什么?我想在登录时清除我的UI。

作为当前问题的一个例子,我有一个NestedPresenter,用于收集表单数据。有人可以注销,然后另一个用户可以在浏览器会话仍处于活动状态时重新登录,并且当表单显示时,之前的用户数据仍在显示。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

这在很大程度上取决于您在应用程序中使用的导航。如果您使用PlaceManager在几乎无状态的屏幕之间导航 - 覆盖onReset方法是我最推荐的地方,因为每次导航都将用户带到演示者时 - 您的清晰代码将被执行。

Referring to documentation

  

onReset()

     

这发生在每个用户的导航请求结束时。例如   如果在用户导航到演示者时需要执行某些代码   已经绑定的,已经添加到Slot中,这是方法   需要重写。但要小心,这经常被称为,所以   在这种方法中不应该执行任何太重的事情。

清除视图,然后获取新模型。如果onReset太频繁了 - 坚持使用onReveal()然后

  

onReveal()

     在显示Presenter时将调用

onReveal()。在   GWTP的词汇表,这意味着将Presenter添加到Slot中   因此,它并不一定意味着该对象是可见的   在DOM中。请参阅此问题以了解消除歧义。这个   当想要更新某些内容时应该重写   演示者即将被添加到插槽中。

并且如果onReveal在你的情况下不能以某种方式工作(你总是将演示者插入插槽中+导航请求无关紧要) - 只需在每次隐藏演示者时清除信息,通过覆盖onHide()