web-dev-qa-db-ja.com

EmberコントローラーafterRenderでアクションを実行する方法

emberフレームワークは初めてです。レンダリングが完了した後、アクションフック内で定義されている関数を実行したいだけです。

_var Controller = Ember.Controller.extend({
  actions: {
    foo: function() {
        console.log("foo");
    }
  }
});
Ember.run.schedule("afterRender",this,function() {
  this.send("foo");
}
_

しかし、上記のコードは機能していません。知りたいのですが、foo() afterRenderを実行することは可能ですか?

12
Mohan Kumar

initを使用できます:

App.Controller = Ember.Controller.extend({
  init: function () {
    this._super();
    Ember.run.schedule("afterRender",this,function() {
      this.send("foo");
    });
  },

  actions: {
    foo: function() {
      console.log("foo");
    }
  }
});
35
artych