page.js取消页面离开



单页应用程序中,客户端正在

编辑一个大表单

localhost/#!/product/123/edit

  • 他导航走了,我想显示一个确认对话框"你确定要离开吗?"[好][取消]。如果他点击[取消],他必须留在表单。

  • 这是我目前的实现

page.exit('*', function (ctx, next) { if (form is editing and not submitted) { if (confirm("Are you sure you want to leave")) { next(); //user click OK -> leave } } else { next(); //nothing changed on the form => leave } });

问题:每次我点击一个链接('/foo')并取消离开。页面内容(我的大表单)保持不变,但page.js仍然将pushState('/foo')和窗口。位置更改为'/foo',不再与页面

对应。

我们如何取消pushState,并保持地址栏不变在localhost/#!/product/123/edit

我遇到了同样的问题,我所做的是设置

上下文。

当我启动对话框(一个引导模式)。工作正常,除了一个小故障:如果我修改一些输入字段,然后尝试导航到单击链接,然后选择留在页面中,然后如果我点击相同的链接,没有动作被触发。其他链接正常。

相关内容

最新更新