Knockout中当前值的名称

Jak*_*son 2 javascript jquery jquery-templates knockout.js

我开始使用Knockout了.我无法弄清楚如何在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>
Run Code Online (Sandbox Code Playgroud)

RP *_*yer 5

在jQuery模板中,您可以使用$data或访问当前上下文$item.data,如下所示:

<script type="text/html" id="valuesTemplate"> 
     <tr><td><input data-bind="value: $data" /></td></tr> 
</script>
Run Code Online (Sandbox Code Playgroud)

但是,如果您正在使用observable,那么您将希望您的values数组包含对象而不仅仅是字符串.