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