我在 : 中添加了一些observable objects
,observableArray
它们dynaobs
看起来像:
"dynaobs": [
{
"SpecName": "reportingcurrency",
"SpecValue": "EUR"
},
{
"SpecName": "transactionscurrency",
"SpecValue": "GBP"
}
]
我可以查看如下值:
<div class="col-sm-6" data-bind="foreach: { data: dynaobs, as: 'ct' }">
<input type="text" data-bind="value: ct.SpecValue" />
</div>
但是,我只想将observableArray的第一个索引绑定到如下所示的输入控件,但它给了我一个错误:
<div data-bind="value: dynaobs()[0]">
<input type="text" data-bind="value: $data" />
</div>
我试过了:
<div data-bind="value: dynaobs()[0]">
<input type="text" data-bind="value: $parent.SpecValue" />
</div>
<div data-bind="value: dynaobs[0]">
<input type="text" data-bind="value: $parent.SpecValue" />
</div>
还有更多,但没有运气。有任何想法吗?
编辑:这就是我添加 observables 的方式:
for (var i = 0; i < data.specifications.length; i++) {
if (data.specifications[i].controlname != null) {
conv(data.specifications[i].controlname, data.specifications[i].specvalue);
}
}
并调用:
function conv(lbl, val) {
this[lbl] = ko.observable(val);
dynaobs.push(this[lbl]);
}