我正在着手淘汰赛。我不知道如何在valuesTemplate中设置绑定。迭代器的当前值的名称是什么?
<div id="knock">
<p>Name: <input data-bind="value: Name" /></p>
<table>
<thead><tr><td>Value</td></tr></thead>
<tbody data-bind="template: {name: 'valuesTemplate', foreach: Values}" />
</table>
<script type="text/html" id="valuesTemplate">
<tr><td><input data-bind="value: value" /></td></tr>
</script>
</div>
<script type="text/javascript">
var data = {"Name":"Fish","Values":["Cod","Salmon","Perch","Glish"],"Id":"lookups/1"};
var viewModel = ko.mapping.fromJS(data);
ko.applyBindings(viewModel);
</script>
最佳答案
在jQuery模板内部,您可以使用$data
或$item.data
访问当前上下文,如下所示:
<script type="text/html" id="valuesTemplate">
<tr><td><input data-bind="value: $data" /></td></tr>
</script>
但是,如果您使用的是可观察对象,那么您将希望您的values数组包含对象,而不仅仅是字符串。
关于javascript - knockout 中的当前值名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6022649/