【发布时间】:2014-05-18 16:04:42
【问题描述】:
我有一个很常见的情况:有一个脏模型,如果用户尝试转换到任何其他路线,我想显示确认。
我有这样的东西可以使用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;
}
}
}
});
但是如果我想使用异步确认(例如bootbox.js确认),我该如何停止转换?
我尝试返回 Ember.RSVP.Promise,但似乎 willTransition 不支持承诺。
所以问题是如何防止通过异步确认转换到另一条路线?
【问题讨论】:
-
在不相关的说明中,您不应将变量称为“事件”,如果它们不代表事件,则更应如此。
-
在我的情况下它是一个事件实体,所以没关系
标签: javascript ember.js ember-data