在ember.js中将参数传递给init

时间:2012-06-08 15:12:32

标签: javascript ember.js

如何将参数传递给init()或访问ember.js中create()内传递给init()的参数

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

使用闭包并创建一个新的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.