私はいくつかのチュートリアル コードに取り組んでいますが、ほとんどのチュートリアル コードと同様に、「json」オブジェクトは、javascript ファイル内に単純なオブジェクトとして追加することで偽装されています。代わりに、サーバーでホストされているファイルから JSON を取得しようとしています。私はこれをもう少し現実的にしようとしています。それにもかかわらず、バインディングを機能させることができないようです。
私のデモコード(私は動作しています)ですが、javascript内に「json」オブジェクトがある場合は、ここで見ることができます.
私の希望の作品はここで見ることができます。
私のリモート json はjson ファイルにあります。私の 2 つのフィドルを "フォーク" すると、テスト用のテスト ハーネス (バックボーン、アンダースコア、すべてオンボードの jquery) があります。
私の問題の核心は、「コレクション」とコレクションを使用する「ビュー」にあると思います。
var Contacts = Backbone.Collection.extend({
model: Contact,
url: 'http://sturim.me/contacts.json',
parse: function(data) {
return data.objects;
}
});
//define master view
var ContactsView = Backbone.View.extend({
el: $("#contacts"),
initialize: function() {
this.collection = new Contacts();
this.collection.fetch();
this.render();
},
render: function() {
this.$el.find("article").remove();
_.each(this.collection.models, function(item) {
this.renderContact(item);
}, this);
},
renderContact: function(item) {
var contactView = new ContactView({
model: item
});
this.$el.append(contactView.render().el);
}
});