Как получить доступ к какой-либо модели в коллекции Backbone? - PullRequest
0 голосов
/ 31 января 2012

У меня есть коллекция моделей:

city = new M.City
App.citiesList = new C.CitiesList model: city
App.citiesList.fetch()

Как мне получить доступ к модели, например, с помощью id=15?

Мне нужно что-то вроде App.citiesList.find(15).name(), где name() - это функция модели

Когда я пытаюсь добавить функцию find в коллекцию, это неверно.Когда я пытаюсь перебрать App.citiesList.models - я вижу только одну модель или что это такое .. Я на самом деле не знаю.

Большое спасибо!

1 Ответ

3 голосов
/ 31 января 2012

Если App.citiesList является коллекцией Backbone, вам нужно использовать get:

get collection.get (id)
Получить модель из коллекции, заданной id .

Итак, вы получите вашу модель из коллекции:

fifteen = App.citiesList.get 15

Иесли вы хотите вызвать метод для него:

App.citiesList.get(15).name()

Вы, вероятно, сначала захотите убедиться, что получили что-то из App.citiesList.get 15 (если, конечно, вы не знали, что это было там).Поскольку вы работаете в CoffeeScript, вы можете использовать оператор существования , например:

name = App.citiesList.get(15)?.name()
#----------------------------^

, чтобы получить имя 15 или undefined в переменной name.

Метод find для App.citiesList будет иметь значение find от Underscore, и он не находит объект с определенным идентификатором.

...