gpt4 book ai didi

javascript - 当输入字段更新时,如何更新 knockout.js 中的 observableArray 项

转载 作者:行者123 更新时间:2023-12-03 12:25:55 25 4
gpt4 key购买 nike

我对使用 knockout 很陌生,感觉我正在做的一些事情有点老套,所以请告诉我我在这里所做的事情是否错误,我应该采取更好的方法。

我的模型的属性之一是字符串数组。在 UI 中,我为数组中的每个项目创建一个输入字段。

我想要的是当我更新输入字段的值时更新模型中的项目。

假设我有一个名为 CarRentalCodes 的属性,它是一个 observableArray,这是我的 View 的一部分

     <div data-bind="foreach: CarRentalCodes()">
<input type="text" style="width:40px; display:inline" class="form-control" data-bind="value: $data"/>
</div>

它列出了具有正确值的输入字段,但当我更改它们时,它们不会在模型中更新。

我需要用 javascript 手动替换这些值吗?或者 Knockout 中是否有内置的东西可以为我解决这个问题?

最佳答案

看看文档,它们非常好。

http://knockoutjs.com/documentation/observableArrays.html#key-point-an-observablearray-tracks-which-objects-are-in-the-array-not-the-state-of-those-objects

您需要做的是将输入连接到可观察的对象,而不仅仅是字符串。

这是一个示例:http://jsfiddle.net/edhedges/ssekY/并且因为它必须附有代码:

function vm() {
this.myArr = ko.observableArray([
new myObj('1'),
new myObj(''),
new myObj('hello'),
new myObj('there')
]);
}

function myObj(myObjs) {
this.myObs = ko.observable(myObjs);
}

ko.applyBindings(new vm());

关于javascript - 当输入字段更新时,如何更新 knockout.js 中的 observableArray 项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24211694/

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