私はバックボーンにまったく慣れていないので、リストアイテムを作成するためにそれを使用する必要があります。各リストアイテムには、モデルとビューがあります。そのリストなので、コレクションにとって理想的なソリューションのように見えますが、私はそれらを使用するのに苦労しています。
これが現在のバージョンで、コレクションを使用するように変更したいと思います。
// The Model & view
var IntroModel = Backbone.Model.extend({});
var Introview = Backbone.View.extend({
template: _.template( $('#taglist-intro').text() ),
render: function() {
console.log( this.model.attributes );
this.$el.append( this.template( this.model.attributes ) );
}
});
// We will store views in here
// Ideally this would be a collection
views = [];
// Get the data for that collection
$.getJSON( url, function( json ) {
_.each( json, function( item ) {
// Create each model & view, store views in the views array
var model = new IntroModel( item );
var view = new Introview({
model : model
})
views.push( view );
})
})
// I can render a view like this
// But I'd rather it rendered the view when I add items to the collection
views[0].render()
だから私が持っているものはうまくいくが、それは実際には「バックボーンの方法」ではない。これは少し無意味に思えます:
- 配列ではなく、コレクションを使用することをお勧めします
- アイテムが配列に追加されたときにビューがレンダリングされる方がよいでしょう
- それはバックボーンではありません。
特定のコード例を提供できない場合でも、この問題を扱っているリンクとリソースに非常に感謝しています。
乾杯、
リチャード