21

ember.jsの内部にinit()引数を渡したり、渡された引数にアクセスしたりするにはどうすればよいですかcreate()init()

4

2 に答える 2

22

使うだけthis.get('theProperty')

例:

var data = {
    foo: "hello",
};

var MyModel = Em.Object.extend({
    init: function() {
        this._super();
        var foo = this.get('foo');
        alert(foo);
    }
});

MyModel.create(data);
于 2012-06-08T20:52:45.867 に答える
0

クロージャを使用して、closed 引数をプロトタイプの init 関数に渡す新しい init 関数を作成します。また、この方法では、メソッドなどの機密プロパティを上書きすることはありません。注: init は、すべてのプロパティがコンストラクターによって設定された後に呼び出されます

Class = Ember.Object.extend({
 init:function(response){
  console.log(this.get("msg")+this.get("msg_addressee")+"?");
  console.log(response);
 },
 msg:"SUP, "
});

var arg = "not much.";

obj = Class.create({
 init:function(){
  console.log("output:");
  this._super(arg);
  console.log("indeed, "+arg);
 },
 msg_addressee:"dude"
});

//output:
//SUP, dude?
//not much.
//indeed, not much.
于 2012-07-02T15:46:15.760 に答える