如何将参数传递给init()
或访问ember.js中create()
内传递给init()
的参数
答案 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函数。此外,这样您最终不会覆盖敏感属性,例如方法。 注意:在构造函数
设置所有属性后调用initClass = 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.