Backbone从id获取模型

时间:2014-05-04 14:48:58

标签: javascript backbone.js

下面是我的收藏中的模型,如何从集合中提取它 - 通过id找到它?

我通常这样做:

var twitter_id = window.localStorage.getItem("twitter_id");
AttoriBackEnd.twitter.fetch({nome:nomecercato,type:'twitter'});
AttoreTwitter= AttoriBackEnd.twitter.get(twitter_id);

但是现在它没有提取任何内容(我使用的是主干1.1.2,另一个版本完全可以使用)。

models: Array[4]
 0: child
_changing: false
_events: Object
_pending: false
_previousAttributes: Object
attributes: Object
changed: Object
cid: "c50"
collection: child
id: "8696369"

2 个答案:

答案 0 :(得分:0)

只需使用内置方法进行收集(findWhere)

返回与集合中的twitter_id匹配的单个模型

AttoreTwitter = AttoriBackEnd.twitter.findWhere({
    // If model's id is twitter_id then
    id: twitter_id
    // else if model's twitter_id is set on model itself then
    twitter_id: twitter_id
});

祝你好运

答案 1 :(得分:0)

根据我所看到的情况,我觉得您需要等到fetch完成,然后才能获得该集合中的特定模型。这是一种方法:

var twitter_id = window.localStorage.getItem("twitter_id");
AttoriBackEnd.twitter.fetch({nome:nomecercato,type:'twitter'});

var AttoreTwitter;
AttoriBackEnd.twitter.on('sync', function(){
  AttoreTwitter= AttoriBackEnd.twitter.get(twitter_id);
  console.log(AttoreTwitter); // Test to see
  // Continue code here
});