EmberJS:拒绝即将到来的转型

时间:2013-08-07 13:14:12

标签: ember.js

我有一个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

似乎没有办法取消退出方法的转换。

1 个答案:

答案 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()