问题
From my understanding, one way to work with CSS transitions is to use Ember.run.scheduleOnce('afterRender')
However, for me it is not working without adding a timeout. This is in Ember 1.0.0
View = Em.View.extend({
didInsertElement: function() {
Ember.run.scheduleOnce('afterRender', this, 'animateModalOpen');
},
animateModalOpen: function() {
// this does not work - modal gets styles from class "in" with no transition
$('.modal').addClass('in');
// this does work, the transition is fired
setTimeout(function() {
$('.modal').addClass('in');
}, 1);
}
},
});
Is this something that used to work and just doesn't anymore, or am I missing something?
回答1:
Ember.run.next
has worked very well for me on this type of thing.
didInsertElement: function() {
Ember.run.next(this, this.animateModalOpen);
}
来源:https://stackoverflow.com/questions/18838405/why-is-ember-run-afterrender-not-working-for-css-transitions