我对骨干网非常陌生,而且遇到了一些麻烦。无法从骨干网收集数据
所以我试图从一个集合中的模型中获取一些数据,我不知道如何,我不确定我是否已经错误地设置了我的集合或某些东西,但这正是我希望你们可以提供帮助的地方。
这里是我的代码:
var currentPage = 1;
var Page = Backbone.Model.extend({
defaults: {
pageName: '',
pageID: 0,
ajaxUrl: '',
pageUrl: '',
hashUrl: '',
previousPage: '',
nextPage: ''
}
});
var home = new Page({
pageName: 'Home',
pageID: 1,
ajaxUrl: 'ajax-content/index.html',
pageUrl: 'index.html',
hashUrl: '#index',
previousPage: 'Contact',
nextPage: 'Our Approach'
});
var WebsitePages = Backbone.Collection.extend({
model: Page
})
var myWebsite = new WebsitePages([home]);
var ContainerView = Backbone.View.extend({
el: "body",
events: {
'click .previous-page': 'loadPreviousPage',
'click .next-page': 'loadNextPage'
},
loadPreviousPage: function(e) {
e.preventDefault();
var pageModel = myWebsite.where({pageID: currentPage});
},
loadNextPage: function(e) {
e.preventDefault();
var pageModel = myWebsite.where({pageID: currentPage});
}
});
到目前为止,这已经让我没有运气。
我也在控制台上做了一些调试,看看我是否可以用其他方式访问它。我的断点放置在loadPreviousPage
函数的e.preventDefault()
上。这里是我试图做的,结果我得到了:
myWebsite
s {length: 6, models: Array[6], _byId: Object, constructor: function, model: function…}
myWebsite.get('home')
undefined
myWebsite.get(0)
undefined
myWebsite.get('0')
undefined
myWebsite.where({pageID: 1})
[s]
var pageModel = myWebsite.where({pageID: 1})
undefined
pageModel
[s]
pageModel.get(pageName)
ReferenceError: pageName is not defined
pageModel.get('pageName')
TypeError: undefined is not a function
我超迷茫现在这样,如果有人可以帮助我,这将是真棒。
干杯。
您的集合已定义良好,但[where](http://backbonejs.org/#Collection-where)返回与属性匹配的模型数组。 – Puigcerber