我正在研究日曆風格的骨幹應用程序,但對它來說相當新穎。我一直在這上面用了12個多小時,仍然無法讓我的模板填充JSON數據。在下劃線模板中使用JSON對象 - Backbone.js
下面是一些代碼,我今天寫的:
型號
var CalendarDay = Backbone.Model.extend({
defaults: function() {
return {
title: "No days for this event",
done: false
};
},
initialize: function() {}
});
var calendarItem = new CalendarDay({
urlRoot: URL
});
收集
var Calendar = Backbone.Collection.extend({
model: CalendarDay,
url: URL
});
查看
var CalendarView = Backbone.View.extend({
template: _.template($('#days').html()),
initialize: function() {
this.collection = new Calendar();
this.collection.fetch();
this.collection.bind("reset", this.render, this);
this.loadTimes();
},
render: function() {
var JSON = this.collection.toJSON();
this.$el.html(this.template(JSON));
console.log(JSON);
},
listDays: function() {
}
});
var calendarView = new CalendarView({
model: calendarItem
});
,這裏是我GETT來自服務器的JSON:
(從執行console.log) 連接0: Object
activity_logs: Array[0]
attendee_code: "BBNVKBGT"
attendee_fee: "0"
cego_fee: "0"
certificate_fee: "0"
created_at: "2013-02-13 11:29:03"
days: Array[1]
description: "A wonderful serenity has taken possession of my entire soul, like these sweet mornings of spring which I enjoy with my whole heart. I am alone, and feel the charm of existence in this spot, which was created for the bliss of souls like mine."
disciplines: Array[3]
done: false
fee_transaction_id: "0"
id: "102"
marketing_materials: Array[0]
messages: Array[0]
name: "My very first event"
organization_id: "1"
start_at: "2013-02-28 00:00:00"
state_id: "38"
states: Array[2]
title: "No days for this event"
updated_at: "2013-02-13 11:29:04"
venue_id: "55"
是我的控制檯日誌,JSON的一個更好的視野。
更新:這是我的字符串化JSON:
[{"title":"No days for this event","done":false,"id":"102","organization_id":"1","state_id":"38","venue_id":"55","name":"My very first event","description":"A wonderful serenity has taken possession of my entire soul, like these sweet mornings of spring which I enjoy with my whole heart. I am alone, and feel the charm of existence in this spot, which was created for the bliss of souls like mine.","start_at":"2013-02-28 00:00:00","attendee_code":"BBNVKBGT","cego_fee":"0","fee_transaction_id":"0","attendee_fee":"0","certificate_fee":"0","created_at":"2013-02-13 11:29:03","updated_at":"2013-02-13 11:29:04","activity_logs":[],"disciplines":[{"id":"1","label":"Psychologist","desc_text":null,"created":"1152725531","valid":"1","ordering":"-1","assocs":"APA","completion_only":"0","abbr":"psy","created_at":"2006-07-12 10:32:11","updated_at":"0000-00-00 00:00:00","pivot":{"id":"5","created_at":"2013-02-13 11:29:16","updated_at":"2013-02-13 11:29:16","conference_id":"102","discipline_id":"1"}},{"id":"8","label":"Alcohol/Drug Counselor","desc_text":null,"created":"1153074004","valid":"1","ordering":"3","assocs":"NAADAC","completion_only":"0","abbr":"acn","created_at":"2006-07-16 11:20:04","updated_at":"0000-00-00 00:00:00","pivot":{"id":"6","created_at":"2013-02-13 11:29:16","updated_at":"2013-02-13 11:29:16","conference_id":"102","discipline_id":"8"}},{"id":"13","label":"Massage Therapist","desc_text":null,"created":"0","valid":"1","ordering":"6","assocs":null,"completion_only":"1","abbr":"mass","created_at":"2006-07-18 12:01:31","updated_at":"0000-00-00 00:00:00","pivot":{"id":"7","created_at":"2013-02-13 11:29:16","updated_at":"2013-02-13 11:29:16","conference_id":"102","discipline_id":"13"}}],"states":[{"id":"38","code":"OR","name":"Oregon","country_code":"US","pivot":{"id":"6","created_at":"2013-02-13 11:29:16","updated_at":"2013-02-13 11:29:16","conference_id":"102","state_id":"38"}},{"id":"5","code":"CA","name":"California","country_code":"US","pivot":{"id":"5","created_at":"2013-02-13 11:29:16","updated_at":"2013-02-13 11:29:16","conference_id":"102","state_id":"5"}}],"messages":[],"marketing_materials":[],"days":[{"id":"1","conference_id":"102","happens_at":"2013-02-28 00:00:00","start_at":"0000-00-00 00:00:00","end_at":"0000-00-00 00:00:00","created_at":"2013-02-20 12:37:23","updated_at":"2013-02-20 12:37:23"}]}]
這裏是我的模板視圖:
<script id="days" type="text/template">
<a class="btn small-btn marginRight"></a>
</script>
只是想我要在這裏補充,如果我使用的模板標籤上面諸如<% title %>
,我得到錯誤Uncaught ReferenceError: title is not defined
我筋疲力盡,自學中堅比人們想象的要難。任何幫助讓這個球再次滾動將是真棒謝謝。
如果您還沒有看到它,這裏有一個很好的指導骨幹,如果你已經知道JQuery的好: https://github.com/kjbekkelund/writings/blob/master/published/understanding-backbone.md – Plynx 2013-02-21 02:28:10
在控制檯中,做一個'con sole.log(JSON.stringify(the_json_response))'並且用字符串化的JSON更新了你的問題,所以可以在jsfiddle或類似的工具上使用它。 – Cymen 2013-02-21 02:33:01
你的模板有一個標籤?它不會發射除「」之外的任何東西。你需要附加一些數據元素(並處理它是一個集合的事實)... http://underscorejs.org/#template – WiredPrairie 2013-02-21 02:52:10