У меня есть модель магистрали, которая представляет собой таблицу. У него есть метод headers
и метод rows
, и он используется шаблоном руля для создания таблицы в представлении.
Один из столбцов в каждой строке будет иметь несколько кнопок, которые должны вызывать javascript. Я знаю о событиях в представлении, но я не уверен, как их связать ...
В настоящее время у меня есть:
class App.Table extends Backbone.Model
[BLAH BLAH]
columns: =>
columns = []
[BLAH BLAH]
Array::push.apply columns, [['<input id="clickMe" type="button" value="clickme" onclick=";" />', 5, 5]] if @get('haveDataBytes')
columns
class App.Views.TableElement extends Backbone.View
events:
"click .clickme": "click"
click: (event) =>
console.log("foo")
render: =>
console.log @model.toJSON()
@$el.empty().append(HandlebarsTemplates['shared/table_element'](@model.toJSON(), data: { tableClass: @tableClass() }))
@$el.find('.cohort_toggle select').val(@model.get("selectedCohortLabel"))
@$el
Но так как у каждой строки будет свой "clickme", я не уверен, как определить, что было нажато.
Соответствующая часть файла hbs:
<tbody>
{{#each rows}}
<tr>
{{#each this}}
<td>{{{this}}}</td>
{{/each}}
</tr>
{{/each}}
</tbody>
{{{this}}}
в три раза, так что я могу включить HTML ... Если есть лучший способ сделать ТО и сделать его похожим на кнопку без необработанного HTML в модели, это также будет полезно!