9

私の理解では、CSS トランジションを操作する 1 つの方法は、Ember.run.scheduleOnce('afterRender')

ただし、タイムアウトを追加しないと機能しません。これは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);
    }
  },
});

これは以前は機能していたのに機能しなくなったものですか、それとも何か不足していますか?

4

1 に答える 1

9

Ember.run.nextこのタイプのことで私にとって非常にうまく機能しました。

didInsertElement: function() {
  Ember.run.next(this, this.animateModalOpen);
}
于 2013-09-17T02:42:00.130 に答える