我正在尝试使用 MVP 模式开发 GWT 应用程序。到目前为止一切都很好,除了一种特定的操作案例:不更改 url 的操作(不更改浏览器历史记录)。
在 GWT MVP 模式中,事件从演示者发送,应用程序控制器捕获它们并更新浏览器历史记录。如果历史记录已更改,则视图会更新。
** 具有历史变化的 MVP(效果很好)**
Current URL is /list
User clicks on contactdelete button.
Fire DeleteContactAction event.
App controller catches, change history to 'delete'
onValueChange is called
if (token.equals("delete"))
delete contact screen, then delete contact
Fire ContactDeletedEvent
app controller catches and change the history to list
onValueChange is called: contact list refreshes
无历史更改的对话框的 GWT MVP 模式
** 问题 ** - 我使用一个对话框,我不想更改浏览器历史记录,所以这里有问题:
Current URL is /list
User clicks on contactdelete button.
Contact is deleted
Fire ContactDeletedEvent.
App controller catches, change history to 'list'
**onValueChange is NOT called** because url is already /list and there is no change
# problem: contact list does not refresh
问题:有人知道在 MVP 的上下文中实现这一点的模式吗?
任何帮助/想法表示赞赏。