Backbone.js 主干线“;at();返回未定义,导致Firebug
我正在尝试通过一个屏幕演示如何使用Backbone.js和REST从数据库返回结果。我的RESTful服务(至少我认为它是RESTful的——REST对我来说是新的)正在提供您想要的JSON数据。在我尝试使用Backbone.js 主干线“;at();返回未定义,导致Firebug,backbone.js,Backbone.js,我正在尝试通过一个屏幕演示如何使用Backbone.js和REST从数据库返回结果。我的RESTful服务(至少我认为它是RESTful的——REST对我来说是新的)正在提供您想要的JSON数据。在我尝试使用at()访问数据的最后一步之前,一切似乎都很正常。这是我的密码 这是我的脊梁骨: (function() { window.App = { Models: {}, Collections: {}, Views: {},
at()
访问数据的最后一步之前,一切似乎都很正常。这是我的密码
这是我的脊梁骨:
(function() {
window.App = {
Models: {},
Collections: {},
Views: {},
Router: {}
};
window.template = function(id) {
return _.template( $('#' + id).html());
};
var vent = _.extend({}, Backbone.Events);
App.Router = Backbone.Router.extend({
routes: {
'' : 'index',
'*other' : 'other'
},
index: function() {
},
other: function() {
}
});
App.Models.Main = Backbone.Model.extend({
defaults : {
FName: ''
}
});
App.Collections.Mains = Backbone.Collection.extend({
model: App.Models.Main,
url: '../leads/main_contact'
});
new App.Router;
Backbone.history.start();
})();
在Jeffrey Way的屏幕广播中使用的Firebug控制台中,我键入以下内容:
mains = new App.Collections.Mains();
mains.fetch();
mains.toJSON();
那很好。我可以使用Firebug查看那里是否有正确的数据。以下是我的结果:
[Object { id="1023", timestamp="2012-05-16 08:09:30", FName="Eulàlia", more...},...
但当我尝试访问id为1023的对象时,我会得到“未定义”。我会这样做:
mains.at(1023).get('FName');
我做错了什么?at方法检索集合中特定索引处的元素 因此,如果要获取位置1023处的元素,则集合中需要1023项。你可能没有
您拥有并设置为1023的id与该集合中的索引无关。Oh。嗯。我误解了教程。是的
mains.at(0).get('FName')
返回Eulalia。如果这是集合中的第一个元素,则是正确的:)