だから私は非常にシンプルなハンドルバーヘルパーを持っています -
Handlebars.registerHelper('selectRow', (rowIndex, selectedIds) ->
console.log 'row index'
console.log rowIndex
console.log selectedIds
isSelected = _.indexOf(rowIndex, selectedIds)
if isSelected > -1
return 'class="row-selected"'
)
そして、私はこのハンドルバーコードを持っています -
<div class="title">{{ title }}</div>
<hr/>
<table cellspacing="0" cellpadding="0">
<thead>
{{#each columns}}
<th class="col-heading" data-heading="{{ this }}">{{ this }}</th>
{{/each}}
</thead>
<tbody>
{{#each rows}}
<tr {{#selectRow @index selected }}>
{{#each this}}
<td>
{{this}}
</td>
{{/each}}
</tr>
{{/selectRow}}
{{/each}}
</tbody>
</table>
選択されたパラメータは常に未定義です。{{ selected }} を別の場所に追加すると、配列が表示されます。これは、以下からわかるように、次のようになります。
data = @model.data()
selected = @model.get('selection').get('selected')
@$el.html(@tableContentsTemplate({
columns: @model.get('columns')
rows: data
title : @model.get('title')
selected: JSON.stringify(selected)
}))
選択したパラメーターをヘルパーに正しく渡すにはどうすればよいですか?