当我单击表行时,我得到传递给函数 $root.goToEvent 的信息对象。但我想传递该对象的上层,在本例中为事件[[1]]以及信息和规则。附上屏幕和代码。提前致谢。
HTML
<table class="mainTable" style="width:820px" border="1" data-bind="with: dataToShow">
<tr>
<td width="200px" valign="top">
<!-- Events List -->
<table class="events" >
<thead><tr><th >События</th></tr></thead>
<tbody id="eventsTable" data-bind="foreach: events">
<!-- ko with: info -->
<tr id="trEvent" data-bind="css: { selected : $data==$root.chosenEvent()}, click: $root.goToEvent">
<td data-bind="text: event_title"></td>
</tr>
<!-- /ko-->
</tbody>
</table>
最佳答案
一个选项是将您的函数与适当的上下文(this
)和初始参数绑定(bind)
。
类似于:
data-bind="click: $root.goToEvent.bind($root, $parent)"
这将调用 goToEvent
,并将 this
的值设置为 $root
并且第一个参数是父上下文(一个 代码中的 event
对象)。
关于ajax - knockout 绑定(bind)上下文将父级作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23446353/