我想在特定路线上中止过渡并显示模态。这就是我的路线代码:
export default Ember.Route.extend({
model: {/* some code here */},
actions: {
willTransition: function(transition) {
if (!this.controller.get('model.name')) {
console.log('aborting transition');
transition.abort();
this.send('showModal', {
template: 'campaign/campaign-name-modal',
controller: this.controller,
model: this.controller.get('model')
});
}
else {
// Bubble the `willTransition` action so that
// parent routes can decide whether or not to abort.
return true;
}
}
}
});
然后在我的application.hbs
中,我有:
{{outlet 'modal'}}
我观察到的是转换中止但我的modal
没有出现。当我将订单切换为:
this.send('showModal', {
template: 'campaign/campaign-name-modal',
controller: this.controller,
model: this.controller.get('model')
});
console.log('aborting transition');
transition.abort();
过渡根本不会中止。
我不确定为什么会发生这种情况。有什么指针吗?
答案 0 :(得分:1)
也许尝试编辑条件以使用firstObject:
if (!this.controller.get('model.firstObject.name')) {