Зависимые атрибуты в модели Backbone.js - PullRequest
0 голосов
/ 21 октября 2011

Если в моей модели изменится одно из двух значений - a или b, два из представлений прослушивания должны вычислить третье значение c.

//Pseudo 
mainModel 
  a : 2000 
  b : 3000

view1 
helper.calculateC(this.model.get(a), this.model.get(b)) 

view2 
helper.calculateC(this.model.get(a), this.model.get(b)) 

Я бы лучше поместил зависимый атрибут c в модель (как Расчет довольно сложный, и позже «с» может быть разрешено переопределено пользователем.) Что такое хорошая практика? Должен ли я продлить модель, сделать субмодель или как?

Спасибо!

1 Ответ

5 голосов
/ 21 октября 2011

Вы можете добавить привязку на модели к ее собственному событию изменения при вызове инициализации.

initialize: function() {
  this.bind("change", this.calculateC);
},

calculateC: function() {
  this.c = //fill in the blanks
}    

В частности, вы можете связывать только те атрибуты, которые вам нужны.

  this.bind("change:a", this.calculateC);
  this.bind("change:b", this.calculateC);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...