Data binding knockout$绑定到HTML元素的数据
因此,假设我有一个名为people的viewmodel,它由一个person-object文本数组组成,如Data binding knockout$绑定到HTML元素的数据,data-binding,knockout.js,Data Binding,Knockout.js,因此,假设我有一个名为people的viewmodel,它由一个person-object文本数组组成,如 [{ name = John, age = 30, sex = male }, { name = Mike, age = 29, sex = male }, { name = Anna, age = 28, sex = female }] 假设我想把每个人都绑定到一个,比如 <ul data-bind="foreach: people"> <li data-
[{ name = John, age = 30, sex = male },
{ name = Mike, age = 29, sex = male },
{ name = Anna, age = 28, sex = female }]
假设我想把每个人都绑定到一个,比如
<ul data-bind="foreach: people">
<li data-bind="text: name"></li>
</ul>
但是,是否有可能通过数据绑定=“with:$data”
将整个person对象绑定到,因此,例如,当我单击时,其他一些显示其余信息,在本例中是年龄和性别
这就像我想让
保存person对象数据,这样我就可以在其他地方使用它。通常,您希望创建一个在视图模型级别可以观察到的selectedPerson
,然后您可以执行以下操作:
<ul data-bind="foreach: people">
<li data-bind="click: $parent.selectedPerson">
<span data-bind="text: name"></span>
<div data-bind="visible: $parent.selectedPerson() === $data">
<span data-bind="text: age"></span>
</div>
</li>
</ul>
Quick fiddle:通常,您希望在视图模型级别创建一个像selectedPerson
一样可观察的人,然后您可以执行以下操作:
<ul data-bind="foreach: people">
<li data-bind="click: $parent.selectedPerson">
<span data-bind="text: name"></span>
<div data-bind="visible: $parent.selectedPerson() === $data">
<span data-bind="text: age"></span>
</div>
</li>
</ul>
快速小提琴: