我很擅长使用淘汰赛,觉得我正在做的一些事情有点像hacky,所以让我知道我在这里做的事情是错的,我应该做得更好。
我的模型的一个属性是字符串数组。在UI中,我正在为数组中的每个项创建一个输入字段。
我想要的是在更新输入字段的值时更新模型中的项目。
假设我有一个名为CarRentalCodes的属性,它是一个observableArray,这是我视图的一部分
<div data-bind="foreach: CarRentalCodes()">
<input type="text" style="width:40px; display:inline" class="form-control" data-bind="value: $data"/>
</div>
它列出了具有正确值的输入字段,但是当我更改它们时,它们不会在模型中更新。
我是否需要使用javascript手动替换值,或者是否有可以解决此问题的内置内容?
答案 0 :(得分:1)
看看他们非常好的文档。
您需要做的是将输入连接到一个observable而不仅仅是一个字符串。
以下是一个示例: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());