放弃,不知道为什么骨干没有获取我的JSON。 我的检查员说:“未捕获的ReferenceError:业务未定义” 任何人都可以帮助我?骨干没有得到我的JSON
这里是我的代码:
//-------------
// Model:
//-------------
var DirectoryItem = Backbone.Model.extend();
//-------------
// Collection:
//-------------
var Directory = Backbone.Collection.extend({
model: DirectoryItem,
url: 'JSON/directory.json',
parse: function (data) {
return data.Businesses
}
});
//-------------
// List View:
//-------------
var DirectoryListView = Backbone.View.extend({
el: $("#directoryView"),
events: {
"click li": "itemClicked"
},
initialize: function() {
this.collection = new Directory();
this.collection.fetch();
this.render();
this.bind('change', this.render, this);
},
render: function() {
var business = new Directory();
var that = this;
business.fetch({
success: function (Directory) {
var template = _.template($('#item-list-template').html(), {Directory: Directory.models});
that.$el.append(template);
}
});
that.$el.toggleClass('view');
return that;
},
itemClicked: function(e){
//we get the id of the clicked item throught his data property from the html
var id = $(e.currentTarget).data('id');
//we obtain the right model from the connection with the id
var name = this.collection.get(id);
//we load the view of the selected model
var directoryItemView = new DirectoryItemView({ model: name });
}
});
这里是我的模板:
<script type="text/template" id="item-list-template">
<li><%= Business %></li>
</script>
这里是我的JSON的例子:
{
"Businesses":[
{
"Business" : "Busines nº1",
"Field" : "Marketing - web dev agency",
"Contact Info" : "[email protected]",
"Link" : "http://www.web.com/contact-us",
"Where?" : "Downtown",
"Round:" : 0,
"follow up" : "",
"Comments" : ""
},
{
"Business" : "Busines nº2",
"Field" : "University",
"Contact Info" : "",
"Link" : "https://www.web.edu",
"Where?" : "",
"Round:" : 0,
"follow up" : "",
"Comments" : ""
},...
非常感谢!
http://stackoverflow.com/a/25881231/1071630 – nikoshr
所以你使用遍历并访问
Business
Underscore 1.7.0+作为@nikoshr的东西,或者你是否在使用旧的Underscore,并且当它期望看到“{Business:...}”时,给出你的模板“{Directory:...}”?都? –是的,我使用了一个更新的下划线,现在我不能尝试@nikoshr建议的内容,但可能今晚我可以,谢谢! – Trifit