如何访问Backbone集合中的某些模型

时间:2012-01-31 06:19:17

标签: backbone.js coffeescript

我有一系列模特:

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 个答案:

答案 0 :(得分:3)

如果App.citiesList是Backbone集合,那么您需要使用get

  

获取 collection.get(id)
  从 id 指定的集合中获取模型。

所以这会从集合中获得你的模型:

fifteen = App.citiesList.get 15

如果你想调用一个方法:

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

你可能想要确保先从App.citiesList.get 15取回一些东西(除非你知道它当然在那里)。由于您使用的是CoffeeScript,因此可以使用existence operator,如下所示:

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

undefined变量中获取15的名称或name

find上的App.citiesList方法将是Underscore的find,并且找不到具有特定ID的对象。