2013-08-09 6 views
1

Я новичок в Backbone, и раньше я использовал ExtJS. Моя цель - заполнить коллекцию Backbone некоторыми данными. Теперь ... в ExtJS, если я хотел загрузить коллекцию, чем я использовал метод .load(), который принадлежал ей. Когда я читаю документацию Backbone, я вижу, что в моделях есть главным образом методы feching/syncing. Поэтому мой вопрос:Загрузка модели или коллекции

«Если я хочу загрузить коллекцию Backbone, следует ли загружать ее напрямую или через« модель »?»

+0

Что случилось с http://backbonejs.org/#Collection-fetch? – nikoshr

+0

это мой вопрос, следует ли использовать его и в рамках этого метода получить доступ непосредственно к свойствам «моделей» или мне сначала загрузить модели внутри него? –

ответ

2

A Backbone Collection может представлять собой набор базовых моделей. Если установить коллекцию как:

YourCollection = Backbone.Collection.extend({ 
    model: YourModel, 
    url: '/url/to/json/collection'; 
    } 
}); 

и модели, как:

YourModel = Backbone.Model.extend({ 
    url: '/url/to/json/model'; 
    } 
}); 

Затем вы можете сделать что-то вроде:

var collection = new YourCollection(); 
collection.fetch(); //GETs /url/to/json/collection 

Путь /url/to/json/collection должен возвращать массив JSON где каждый элемент в массиве будет JSON для ваших моделей.

Путь /url/to/json/model должен возвращать JSON, представляющий одну модель.

Представьте, что ваш сервер вернулся. У JSON есть свойство, такое как "name", тогда вы можете делать интересные вещи: collection.where({name: 'some name'}). Это вернет массив с YourModel s.

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

+0

Да, и это то, с чем я имею дело ... теперь моя главная забота о методе .fetch() в коллекции. Должен ли он загружать первую вашу модель и чем MyModel должен быть нажат на YourCollection.models или должен ли я напрямую загружать YourCollection.models (а экземпляры YourModel не нужны для процесса выборки)? –

+0

жаль, что я не видел последнее предложение, это тот ответ, который мне нужен. –

+0

Рад, что я мог бы помочь :) – trenpixster

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