Javascript 单击后立即渲染模板 目标

Javascript 单击后立即渲染模板 目标,javascript,jquery,html,knockout.js,Javascript,Jquery,Html,Knockout.js,在单击使用KnockoutJS绑定的之后呈现模板 情景 我的应用程序上有一个表,该表的每一行都是一项。当我单击某个项目时,我将在另一个容器中显示其详细信息 我通过参数传递有关此项的所有必要信息,并且我需要将此参数作为模板上的数据获取绑定-我如何才能做到这一点? 说明性细节 这是我的扳机: […] [...] 当有人单击它时,将显示以下模板: <p data-bind="text: itemName"></p> 。。。在以下容器内: <div class="d

在单击使用KnockoutJS绑定的
之后呈现模板

情景 我的应用程序上有一个表,该表的每一行都是一项。当我单击某个项目时,我将在另一个容器中显示其详细信息

我通过参数传递有关此项的所有必要信息,并且我需要将此参数作为
模板上的数据获取
绑定-我如何才能做到这一点?

说明性细节 这是我的扳机:

[…]
[...]
当有人单击它时,将显示以下模板:

<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
绑定中的当前项。再加上observable是函数这一事实,您可以直接如下设置
selectedItem

data bind=“单击:$parent.selectedItem”


然后,您所要做的就是根据
selectedItem
绑定一些细节视图。请看一个简单的例子。

做了类似于此的工作:请将您的评论转化为答案。真棒的回答。谢谢谢谢Tyrsius给你的精彩回答-非常有效。顺便问一下,我还有一个问题:你知道我如何传递给
selectedItem
一些
计算值
?我不知道你的意思
<div class="details" [...]>
    <p>Microsoft</p>
</div>