Dojo MVC:如何在数据错误时取消视图转换
Dojo MVC: How to cancel View Transition on Data Error
我使用Dojo 1.10进行SPA。在应用程序中,我有一个dojox/app/view的视图实例,它允许用户操作从模型加载的数据。视图有一个Back按钮,允许用户切换到Home屏幕。
返回按钮的处理程序使用 TransitionEvent({
app: self.app,
target: evt,
transitionOptions: {
history: true,
params: {...},
title: "ViewListView",
target: "ViewListView",
url: "#ViewListView"
},
triggerEvent: evt
}).dispatch();
切换回主屏幕。
这里的用例是,如果存在未保存的数据更改,则应该在转换之前警告用户。应该向用户提供放弃更改并继续转换或取消转换并保持在同一视图上的选项,以便能够保存更改。
这可以在Back按钮的处理程序中实现,因为转换是手动触发的,如果用户选择在返回之前保存更改,则可以防止发生转换。问题是,当用户按下浏览器返回按钮时,转换发生在内部,无法检查是否有任何未保存的数据更改并阻止转换发生。
我试过使用:
beforeDeactivate(nextView, data)在视图被隐藏之前被调用。
但无法找到拦截转换的方法。如何在应用检查之前拦截转换?是否有可能在一个地方拦截转换,以便它同时捕获从浏览器返回按钮的转换和从视图内手动触发的转换?
谢谢你的帮助。
扩展History控制器以支持检查,以避免在存在未保存的数据时进行转换,这应该不难。
相关文章:
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- jquery点击函数select&取消选择
- Node.js v6.2.0类扩展不是函数错误
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- javascript onchange取消绑定错误|未定义
- fs extra:错误:EPERM:不允许操作,取消链接
- Bootstrap 3错误地取消折叠类
- 节点 JS 取消处理程序错误事件
- 方法POST,状态(已取消)错误消息
- 使用jquery使用文本框取消隐藏选项卡会取消隐藏错误的部分
- 如何取消委托点击错误
- 区分ajax错误中的请求失败(无网络)和请求取消(HTTP状态码0)
- 为什么我得到错误:“试图取消渲染未渲染的片段”;从reactive .js 0.3.9迁移到0.5.5时
- 为什么我的https://请求取消并更改为http://,导致混合请求错误
- 在Boomi计时器已经取消的uCanAccess错误
- 位操作 - 在 JavaScript 中取消设置产生错误值的位
- 捕捉.svg悬停/取消悬停错误(用于更长的悬停)
- Dojo MVC:如何在数据错误时取消视图转换
- 如何取消上传而不显示错误