残り火の世界への私の最初の進出を楽しんでいますが、比較的単純なことをしているときに少しつまずきました。
クラスtagName: "tr"を使用して、要素のハンドルバーテンプレートを追加したいと思います。ただし、要素が挿入されても表示されない場合もあれば、ターミネーターのない単なるNxリストである場合もあります。手動で追加すると、最初の行が完全に出力されますが、停止します。
{{#each App.variantController.content}}
<td class="cen"><input class="variant" id="variant-{{unbound pk}}" type="checkbox"></input></td>
<td class="value">{{sku}}</td>
<td class="value">{{cost}}</td>
{{#each basic_product_options}}
<td class="value">{{content}}</td>
{{/each}}
<td class="value cen">
<a data-toggle="modal" href="#editVariationModal" class="btn btn-mini btn-warning">{% trans 'Edit' %}</a>
<a href="#" class="btn btn-mini disabled pull-right"><i class="icon-resize-vertical"></i></a>
</td>
</tr>
{{/each}}
JavaScript:
App = Em.Application.create();
App.Variant = Em.Object.extend({
pk: null,
cost: null,
sku: null
});
App.variantController = Em.ArrayController.create({
content: [],
init: function() {
variants = eval($('script#data-variant_list').html());
for (var i = 0; i < variants.length; i++) {
this.pushObject(App.Variant.create(variants[i]));
}
}
});
App.VariantView = Em.View.create({
tagName: 'tr',
classNames: ['variant'],
templateName: 'hb-variant-list'
});
App.VariantView.appendTo('#variants-list');
jsfiddleはここにあります:http://jsfiddle.net/GJASM/