私はいくつかのデータを取得してバックボーンで表示しようとしていますが、うまくいきません - エラーは発生せず、レンダリングも行われません (ガイドとして todos の例を使用して、この非常に単純なアプリを作成しました)
index.html:
<!doctype html>
<html>
<head>
<title>Hello Backbone</title>
</head>
<body>
<div id="sps-container">
<div id="main">
<ul id="service-providers"></ul>
</div>
</div>
</body>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.5.2/underscore-min.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/backbone.js/1.1.0/backbone-min.js"></script>
<script type="text/javascript" src="/app.js"></script>
<!-- Templates -->
<script type="text/template" id="sp-template">
<div class="view">
<label><%- name %></label>
</div>
</script>
</html>
app.js
$(function(){
var ServiceProvider = Backbone.Model.extend({
defaults : function() {
return {
id : "",
version : 1,
name : ""
};
}
});
var ServiceProviderList = Backbone.Collection.extend({
url: '/web-admin/faces/Backbone/data.json',
model : ServiceProvider
});
var myCollection = new ServiceProviderList();
var ServiceProviderView = Backbone.View.extend({
el : $("#service-providers"),
tagName : "li",
initialize : function() {
_.bindAll(this, 'render');
this.template = _.template($('#sp-template').html());
this.render();
},
render : function() {
this.$el.html(this.template(this.model.toJSON()));
return this;
}
});
myCollection.fetch(function(c) {
var v = new ServiceProviderView(c);
main.html(v.render().el);
});
var SPView = new ServiceProviderView();
});
data.json
[
{
"id": "03c88b31-6719-4662-9ad8-64f247de13f0",
"version": 1,
"name": "Dino Tel"
},
{
"id": "936690b4-6a4a-436d-abed-8ca316fbae22",
"version": 1,
"name": "Krusty Tel"
}
]
データが読み込まれていないと思いますが、他にエラーはなく、json ファイルが利用可能です。何か不足していますか?