Подтвердить что ты не робот

Передача аргументов init в ember.js

Как передать аргументы в init() или получить доступ к аргументам, переданным в create() внутри init() в ember.js

4b9b3361

Ответ 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.