2016-04-04 3 views
0

Я хочу определить, какие свойства имеет класс. Мы используем магистраль для ООП. Я прочитал, что базовая модель получает свои свойства при инициализации, и только методы определены для класса с использованием extend. Но я думаю, что явное определение полей классов добавляет читаемость. Есть ли какая-то конвенция о том, как это сделать?Что такое соглашение для определения свойств/полей класса базовых моделей

ответ

2

Из fine manual:

простиратьсяBackbone.Model.extend(properties, [classProperties])
[...], а также дополнительные classProperties быть присоединен непосредственно к функции конструктора.

Аналогично для collections, routers и views.

Чтобы определить метод класса на модели:

var M = Backbone.Model.extend({ 
    // instances methods and properties go here... 
}, { 
    some_class_method: function() { ... } 
}); 

M.some_class_method(); // Then this will work. 
0

модели Магистральных хранения данных в attributes ключе,

model = new Backbone.Model({foo:'bar'}); 
model.attributes.foo === 'bar'; 

и вы должны получить доступ к данным с model.get()model.set(), которые будут управлять событиями стрельбы.

вы также можете подключить к моделям моделей Backbone, используя метод initilize или переписывая constructor (вы можете посмотреть взгляды MarionetteJS для вдохновения).

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