淘汰赛:使用动态键在ko可观察数组中推送值

时间:2019-01-22 11:56:08

标签: jquery knockout.js observable

我想用动态键在数组中添加推入值。我使用下面的代码:

KNN

this.customOptionVal是ko.observableArray()

以上代码的输出为:

this.customOptionVal.push({name:value});

我想要这样的输出:

0: {name: "stack"}

该怎么做?

1 个答案:

答案 0 :(得分:1)

如果您可以使用简单的observable而不是observableArray(因为数组将始终使用索引而不是自定义键),则可以将customOptionVal设置为可观察对象:customOptionVal = ko.observable({})

现在,您可以使用customOptionVal()访问可观察对象内部的对象,然后可以将密钥添加到该对象中,例如:customOptionVal()[yourKeyHere] = {name: "stack"}

请参见下面的示例

var customOptionVal = ko.observable({});
customOptionVal()['myKey'] = {name:"stack"};

console.log(customOptionVal())
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>