目标
在使用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>

有人知道我该怎么做吗?

最佳答案

在主详细视图中,一个非常常见的做法是有一个“选定”项,详细视图将与之绑定。
从绑定设置此selectedItem更容易,因为发送到click绑定中的函数的默认参数是当前绑定上下文,即foreach绑定中的当前项。再加上可观察的是函数,您可以直接这样设置selectedItem
data-bind="click: $parent.selectedItem"
然后,您只需将一些详细视图绑定到selectedItem。举一个简单的例子。

关于javascript - 单击后渲染模板,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18498765/

10-12 12:18
查看更多