我有一个非常常见的情况:有一个脏模型,如果用户试图转换到任何其他路线,我想显示确认.
我有这样的东西与window.confirm确认对话框一起工作:
var EventRoute = Ember.Route.extend({
actions: {
willTransition: function(transition) {
var event = this.modelFor(this.routeName);
if (event.get('isDirty') && !confirm("Are you sure?")) {
transition.abort();
} else {
event.rollback();
return true;
}
}
}
});
Run Code Online (Sandbox Code Playgroud)
但是,如果我想使用异步确认(例如bootbox.js确认),我该如何停止转换?
我试图回来,Ember.RSVP.Promise但似乎willTransition不支持承诺.
所以问题是如何通过异步确认来防止转换到另一条路线?