【发布时间】:2016-06-02 22:54:35
【问题描述】:
按照淘汰赛文档中的这个例子:
<!-- ko foreach: items -->
<input type="checkbox" data-bind="checkedValue: $data, checked: $root.chosenItems" />
<span data-bind="text: itemName"></span>
<!-- /ko -->
<script type="text/javascript">
var viewModel = {
items: ko.observableArray([
{ itemName: 'Choice 1' },
{ itemName: 'Choice 2' }
]),
chosenItems: ko.observableArray()
};
</script>
我创建了一个对象列表,当使用复选框选中这些对象时,它会被添加到新列表(选择项)中。
我想做的是让我选择的项目列表由具有一些额外属性的对象组成。例如,如果我从上面选择“选择 1”,我希望我选择的项目看起来像:
[ { itemName: 'Choice 1', itemTitle : "", somethingElse : "" }]);
我已经设法通过创建另一个 observableArray 并订阅 selectedItems 来做到这一点,然后当 selectedItems 更改时,我手动重新创建第二个数组,但我想知道是否有更简洁的方法?
【问题讨论】:
标签: knockout.js