var ShapeSizePoolView = Backbone.View.extend({
el : $('#agpb_shape_size_body'),
tmpl : $('#tmpl_agpb_shape_size').html(),
initialize : function() {
this.render();
},
render : function() {
var compiled_template = _.template( this.tmpl, this.model.toJSON() ),
sizes = this.model.get('sizes');
$(this.el).append( compiled_template );
// this is used for our pool sizes
for(var i = 0; i < sizes.length; i++) {
console.log(sizes[i]);
new ShapeSizePoolButtonView(
{
size : sizes[i],
el : $(this.el).find('.agpb_size_list')
});
}
}
});
var ShapeSizePoolButtonView = Backbone.View.extend({
tmpl : $('.tmpl_agpb_shape_size_button').html(),
initialize : function() {
// this.render();
console.log( this.size );
},
render : function() {
var compiled_template = _.template( this.tmpl, this.sizes );
$(this.el).append( compiled_template );
}
});
this.model.get('sizes')は、オブジェクトの配列を返します。ShapeSizePoolViewのオブジェクトの1つをconsole.logにすると、次のようになります。
{
id: "6",
dimensions: "12'",
price: "649.99",
sort_order: "1"
}
このオブジェクトを新しいビューに渡しますが、ShapeSizePoolButtonViewからconsole.log this.sizeを取得すると、次のようになります。
undefined
誰かが私がどこで間違っているのか考えていますか?
ありがとう!