在与KnockoutJS绑定click
后立即渲染模板。
我的应用程序上有一个表,该表的每一行都是一个项目。当我点击某个项目时,我会在另一个容器中显示其详细信息。
我按参数传递了有关此项目的所有必要信息,我需要将此参数作为template
绑定的数据 - 我该怎么做?
这是我的触发器:
[...]
<tr data-bind="click: showDetails"></tr>
[...]
当有人点击它时,显示以下模板:
<p data-bind="text: itemName"></p>
...在以下容器中:
<div class="details"
data-bind="template: {name: 'detailsTemplate',
data: ~should be the parameter (object)
that "showDetails" sends~}">
</div>
最终 DOM应该是以下内容,只要我点击某个项目就必须可见:
<div class="details" [...]>
<p>Microsoft</p>
</div>
有人知道我该怎么办?
答案 0 :(得分:1)
在主详细信息视图中,一种非常常见的做法是使详细视图将绑定的“已选择”项目。
通过发送到selectedItem
绑定中的函数的默认参数是当前绑定上下文({{1}中的当前项目这一事实,可以更轻松地从绑定设置此click
}} 捆绑。再加上observable是函数的事实,你可以像这样直接设置foreach
:
selectedItem
然后你要做的就是绑定data-bind="click: $parent.selectedItem"
的一些细节视图。看一下this fiddle的简单示例。