我對骨幹網非常陌生,而且遇到了一些麻煩。無法從骨幹網收集數據
所以我試圖從一個集合中的模型中獲取一些數據,我不知道如何,我不確定我是否已經錯誤地設置了我的集合或某些東西,但這正是我希望你們可以提供幫助的地方。
這裏是我的代碼:
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