设置超时在余烬控制器中不起作用

SetTimeout Not Working In Ember Controller?

本文关键字:不起作用 控制器 余烬 超时 设置      更新时间:2023-09-26
setTimeout(function(){
Ember.$("#right-bar").addClass("col-lg-12");
Ember.$("#right-bar").removeClass("col-lg-2");
this.set('isExpanded',true);}, 250);
//this.set('isExpanded',true);

我正在尝试在 250 毫秒延迟后更新isExpanded值,但是当我将注释的代码行放入setTimeout功能块(无论是分组还是单独(时,它似乎没有更新该值。

有什么想法吗?

你超出了范围,你可能应该 Ember.run.later。 此外,使用bind-attr将使您的生活更轻松,而不是手动更改css。

var self = this;
Em.run.later(function(){
  Ember.$("#right-bar").addClass("col-lg-12");
  Ember.$("#right-bar").removeClass("col-lg-2");
  self.set('isExpanded',true);
}, 250);

Em.run.later(this, function(){
  Ember.$("#right-bar").addClass("col-lg-12");
  Ember.$("#right-bar").removeClass("col-lg-2");
  this.set('isExpanded',true);
}, 250);