Отношения Backbone.js - PullRequest
       23

Отношения Backbone.js

3 голосов
/ 20 марта 2012

У меня проблема с намоткой головы на реляционные модели в Backbone. Я только начал использовать его, и мне поручено довольно большое приложение.

Основная проблема, с которой я столкнулся, заключается в том, что у меня есть модель, которая должна содержать коллекцию.

Это то, с чем я должен работать:

  • Modela
    • id: _id
    • url: api / model /: modelA_id
    • вложенная:
      • url: api /: modelA_id / nest

Я думаю, что делаю это больше, чем нужно, но я просто не могу понять, как это настроить.

Любая помощь будет наиболее ценной.

1 Ответ

9 голосов
/ 21 марта 2012

Самая важная вещь в Backbone - это то, как правильно использовать события, чтобы справиться практически со всем в приложении. Другая важная вещь, которую нужно понять, это то, что существует 5 различных способов решения проблемы, где ни один из них не лучше / хуже другого.

Учитывая предоставленную вами свободную структуру, я бы сделал что-то вроде:

var YourApp = {
   Models : {}
   Collections : {}
   Views : {}
};

YourApp.Models.First = Backbone.Model.extend({
  initialize : function(){
      var nestedCollection;
      this.url = 'api/model/' + this.id;
      nestedCollection = new Backbone.Collection({
        url : this.url + '/nest'
      });
      this.set('nested', nestedCollection);
    }
});

new YourApp.Models.First({
  id : 23
});
...