2015-06-24 2 views
0

Допустим, у меня есть следующая модель, как моя основа для формы Делаю:Измените схему при создании экземпляра?

var SomeModel = Backbone.Model.extend({ 
    schema: { --some default things--, 
    fieldToChange: {type='Select', options=['Default']}, 
    fieldToChange2: {type='Select', options=['Default']} 
    } 
}); 

Теперь я хочу, чтобы создать новый SomeModel с различными вариантами по созданию:

var formModel = new SomeModel({ 
    //Here's where I don't know how to set just the options of fieldToChange 
    schema.fieldToChange.options = [A, Computed, Array, Of, Options], 
    schema.fieldToChange2.options = [A, Computed, Array, Of, Options, 2] 
}); 
var myForm = new Form({ el: $('#elID'), model: formModel}; 

Могу ли я обновить схему модели при создании аналогично этому? Каким будет способ сделать эту работу надлежащим образом?

ответ

0

Да, вы можете сделать свойство schema функцией, которая возвращает объект схемы. Таким образом, вы можете настроить схему для каждой модели, как вам нравится.

+0

Спасибо за ответ, хотя некоторое тестирование показало, что это сработает, после немного рефакторинга других вещей, которые я нашел, было просто лучше полностью сформировать форму для моих текущих потребностей. – Nol