gpt4 book ai didi

javascript - 在 attr 绑定(bind)中绑定(bind)对象 - KnockoutJs

转载 作者:行者123 更新时间:2023-12-03 00:42:34 26 4
gpt4 key购买 nike

有一个要求,我需要在 value 属性中绑定(bind)对象,因为 KnockoutJs 将值作为复选框事件中的第一个参数发送。当作为单个值传递时,一切都很好。

<div data-bind="foreach: Items">
<input type="checkbox" value data-bind="attr: { value: id }, checked: selectedVal">

this.selectedVal.subscribe((newVal: any) => {
alert(newVal);
});

我想传递迭代项对象本身,而不是迭代项的一个属性。

Items = [
{
id: 1,
name: 'Adam',
},
{
id: 2,
name: 'Bailey',
},
{
id: 3,
name: 'Cathy',
},
]

订阅时我想要带有 id 和名称的整个对象,请告诉我如何做到这一点?

最佳答案

您可以使用checkedValue: $data来告诉复选框写入整个对象。例如:

const items = [
{
id: 1,
name: 'Adam',
},
{
id: 2,
name: 'Bailey',
},
{
id: 3,
name: 'Cathy',
},
];

const selected = ko.observableArray([]);

selected.subscribe(console.log);

ko.applyBindings({ items, selected });
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>
<div data-bind="foreach: items">
<label>
<input type="checkbox" data-bind="checkedValue: $data, checked: selected">
<span data-bind="text: name"></span>
</label>
</div>

关于javascript - 在 attr 绑定(bind)中绑定(bind)对象 - KnockoutJs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53390813/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com