2012-03-27 6 views
0

Я строй страницы HTML, которая использует Backbone.jsBackbone.js переопределение contstructor

Как я могу переопределить конструктор системообразующего модели?

Позвольте мне объяснить с помощью примера: У меня есть 2 модели, скажем M1 и M2. В конструкторе М2, я хочу поставить и M1

m1=new M1({somedata:""}); 
m2=new M2({m1Ref: m1) 

Если бы я это сделать м2 будет содержать ссылку на m1. Однако то, что мне нужно m2 иметь данные m1 скопированы (somedata значение атрибута должно быть скопированы м2), поэтому я попытался переписать конструктор и изменить полученную там

var M2=Backbone.Model.extend({ 
    constructor: function(data){ 
    data=_.extend(data, data.timmer); 
    data.timmer=undefined; 
    Backbone.Model.prototype.constructor.call(this, data); 
    } 
} 

данные Но это не работает должным образом.

Как правильно переопределить конструктор?

Thanks

ответ

3

Хорошо, нашел решение.

var M2=Backbone.Model.extend({ 
    constructor: function(data, opts){ 

    data=_.extend(data, data.m1Ref); 
    data.m1Ref=undefined; 

    //new: we don't want to copy the id from m1 to m2 
    data.id=undefined; 

    Backbone.Model.prototype.constructor.call(this, data); 
    } 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^