knockout绑定上下文将parent作为参数传递

时间:2014-05-03 15:27:53

标签: ajax json knockout.js

当我单击我的表行时,我将信息对象传递给函数$ 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>

OBJECT: https://flic.kr/p/nvsrQB

1 个答案:

答案 0 :(得分:3)

使用适当的上下文(bind)和初始参数this函数的一个选项。

类似的东西:

data-bind="click: $root.goToEvent.bind($root, $parent)"

这将调用goToEvent,其值this设置为$root,第一个参数是父上下文(代码中的event对象)。