-1

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

不过,似乎没有任何方法可以取消退出方法的转换。

4

1 回答 1

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()
于 2013-08-07T13:41:55.913 回答