我的网站上有常见问题解答。 问题在json文件中,但我想在json文件中获得一些额外的信息(比如faq的标题)。 我的json文件如下所示:
{
"titel": "FAQ title",
"items": [
{
"question": "Question 1",
"answer": "Answer 1"
},
{
"question": "Question 2",
"answer": "Answer 2"
}
]
}
集合扩展代码:
Faq.Collection = Backbone.Collection.extend({
model: Faq.Model,
url: '/scripts/json/faq.json',
parse: function(response){
return response.items;
}
});
解析项目,因为这是用于渲染循环。 但是如何在页面上显示标题呢?
这是渲染功能:
render: function() {
this.el.innerHTML = this.template({
titel: 'Helpdesk'
});
console.log(this);
this.collection.each(function( faqitem ) {
var faqItemView = new Faq.Views.ModelView({ model: faqitem });
this.$el.find('.faq').append( faqItemView.render().el );
}, this);
return this;
}
我想把json文件中的标题放在'Helpdesk'所在的地方。
我希望我足够清楚
答案 0 :(得分:1)
首先像这样更改你的解析函数:
parse: function(response){
this.title = response.title;
return response.items;
}
然后在你的渲染函数中:
this.el.innerHTML = this.template({
titel: this.collection.title // pay attention to the titel not being title :)
});