2013-03-14 24 views
3

我试着使用与存储在蒙戈/猫鼬数据的节点/快递途径获取数据/ API,并显示它骨干木偶里面......填充骨干木偶意见与猫鼬数据使用快速通道

路线即时通讯使用的是这样的:

enter code here`app.get('/cats', function(req, res){ 
Cat.find({}, function (err, docs) { 
res.send(docs); 
    }); 
}); 

2)当我去为localhost:3000 /猫,我得到的JSON作为工作:

[ 
{ 
"__v": 0, 
"_id": "51318ce9a7ff43f808000003", 
"catname": "Jonas" 
}, 
{ 
"catname": "Justin", 
"_id": "51416268a8225e7413000001", 
"__v": 0 
}, 
{ 
"catname": "Bobby", 
"_id": "51416268a8225e7413000001", 
"__v": 0 
} 
] 

3)现在,我怎么能有收集/模型/ ItemView控件/等c从我的数据库使用这个json数据?

我通常到了这一步:

MyCat = Backbone.Model.extend({}); 

MyCats = Backbone.Collection.extend({ 
model: MyCat, 
url: '/cats' 
}); 

CatView = Backbone.Marionette.ItemView.extend({ 
template: "#cats-template", 
tagName: 'li', 
className: 'cat' 
}); 

AngryCatsView = Backbone.Marionette.CompositeView.extend({ 
tagName: "ul", 
id: "cats", 
template: "#cats-template", 
itemView: CatView, 

appendHtml: function(collectionView, itemView){ 
collectionView.$("ul").append(itemView.el); 
} 
}); 

但随后林不知道初始化的类型要使用的。 我见过硬编码JSON的例子,但没有一个从数据库。

+0

问题是此... 变种thecats = myCats(); thecats.fetch(); 希望它可以帮助别人... – 1ManStartup 2013-04-01 19:47:21

回答

1

没有在你发布的代码中,你实际上是从服务器获取你的集合。

尝试这样的:

var catCollection = new MyCats(); 
catCollection.fetch(); 

var angryCatsView = new AngryCatsView({collection: catCollection}); 
angryCatsView.render(); 
+0

是的,这是我用来做它的代码。谢谢。 – 1ManStartup 2013-06-28 17:04:34

1

不确定这是否适用于您的情况,但适用于您的收藏,请添加接受您的数据的解析方法。您可能有一个嵌套数组,Backbone无法从中检索内部数据。

parse: function(data) { 
    return data[0]; 
} 

我会在这个解析方法中添加一个调试点,以查看传入的数据是否嵌套数据。

+0

感谢您的答复...我试过了,但没有奏效。 – 1ManStartup 2013-03-21 18:30:43

+0

你没有按照你写的代码来尝试代码吗?您必须输入自己的数据,然后返回。在我的应用程序中,ServiceStack将数据嵌套到另一个对象中,所以我必须这样做。返回data.CoreDataList;我只是把数据[0]作为一个想法。您必须在解析函数中进行调试才能看到传入的内容。 – Kalpers 2013-03-21 18:37:18

+0

对于迟到的回复,我一直在阅读不同的教程,但一直无法弄清楚。我尝试在收集和复合视图。我想要做的是一条类似于此的宁静路线,http // jsfiddle.net/w3r5B/ – 1ManStartup 2013-03-27 21:13:13

0

问题是这样的...... var thecats = myCats(); thecats.fetch(); 希望它可以帮助别人