gpt4 book ai didi

javascript - Knockout.JS 中的值绑定(bind)

转载 作者:行者123 更新时间:2023-11-28 17:46:53 24 4
gpt4 key购买 nike

我是 Knockout.JS 的新手,我有这样的场景:

我的 ViewModel 中有一个对象数组,如下所示:

var viewModel = {
people : ko.observableArray([
{id = 1, name = 'John'},
{id = 2, name = 'Alice'},
{id = 3, name = 'Tommy'}
])
}

我想做的是“按 id”绑定(bind)到 people 数组的元素,而不是使用 foreach 或类似的枚举它。我想做这样的事情:

<span data-bind="text: people()[id=2].name"></span>

或者类似的东西。换句话说,我想获得一个我知道“ key ”(在本例中为id)的特定项目。这可能吗?

最佳答案

我不确定为什么要在数据绑定(bind)中获取特定的人,但您需要一些逻辑来将您的 ID 作为参数,并返回您想要显示的人。我制作了一个绑定(bind)到特定人员并列出完整数组的示例。

JSFiddle runnable example

function peopleModel(){
var self = this;

self.people = ko.observableArray([
{id: 1, name: 'John'},
{id: 2, name: 'Alice'},
{id: 3, name: 'Tommy'}
]);

self.personById = function(id){
return self.people().find(function(p){
return p.id === id;
});
};
};

ko.applyBindings(new peopleModel());

<span data-bind="text: personById(2).name"></span>

<table>
<tbody data-bind="foreach: people">
<tr>
<td data-bind="text: id"></td>
<td data-bind="text: name"></td>
</tr>
</tbody>
</table>

关于javascript - Knockout.JS 中的值绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46484033/

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