我正在尝试暂停转换,直到css转换完成,然后允许转换继续。
willTransition(transition) {
transition.abort();
var self = this;
Ember.$('.event-item-component:not(.bidding)').removeClass('animate');
Ember.$('.event-item-component:not(.bidding)').first().one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend',function(){
console.log('ready');
transition.retry();
})
}
但retry()
似乎没有做我预期的事情。我该怎么做呢?
更新
尝试使用ember Run循环看起来很有希望Victor Nitu
这里提到的是我现在正在尝试的代码
actions: {
didTransition() {
Ember.run.schedule('afterRender',function(){
console.log('did render');
Ember.$('.event-item-component:not(.bidding)').addClass('animate');
});
},
willTransition(transition) {
Ember.run.schedule('actions',function(){
console.log('about to leave');
Ember.$('.event-item-component:not(.bidding)').removeClass('animate');
})
}
}
然而,在转换完成之前没有发生动画类的移除,动画需要在转换尝试发生之前完成,因此动画或UI中不会发生跳跃