Как передать аргументы в init()
или получить доступ к аргументам, переданным в create()
внутри init()
в ember.js
Передача аргументов init в ember.js
Ответ 1
Просто используйте 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);
Ответ 2
Используйте закрытие и создайте новую функцию init, которая передает закрытый аргумент своей прототипной функции init. Кроме того, таким образом, вы не переписываете чувствительные свойства, например методы. note: 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.