我有一个emberjs应用程序,带有一个用于编辑对象的表单 该页面包含一个“保存”按钮,用于将数据保存到数据库中。
如果对象是脏的并且用户将转换到应用程序中的其他路径,我需要警告他们,如果他们拒绝确认,则取消转换。
App.ObjectEditRoute = Ember.Route.extend
exit: ->
if @get('model.isDirty')
if confirm('All your changes will be lost')
# We just keep rolling the chain of events and do the transition
else
# We want to cancel the transition
似乎没有办法取消退出方法的转换。
答案 0 :(得分:1)
由于路由器改版,使用willTransition事件很容易做到。
App.ObjectEditRoute = Ember.Route.extend
events:
willTransition ->
if @get('model.isDirty')
if confirm('All your changes will be lost')
transition.perform()
else
transition.abort()