Nombre del valor actual en Knockout

Estoy comenzando con Knockout. No puedo averiguar cómo configurar el enlace en valuesTemplate. ¿Cuál es el nombre del valor actual del iterador?

<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>

preguntado el 16 de mayo de 11 a las 20:05

1 Respuestas

Dentro de una plantilla jQuery, puede acceder al contexto actual usando $data or $item.data, asi como:

<script type="text/html" id="valuesTemplate"> 
     <tr><td><input data-bind="value: $data" /></td></tr> 
</script>

Sin embargo, si está utilizando observables, querrá que su matriz de valores contenga objetos en lugar de solo cadenas.

contestado el 17 de mayo de 11 a las 00:05

Si está utilizando observables, entonces querrá que su matriz de valores contenga objetos (incluso como {nombre: 'valor'}). No puede hacer que los valores de elementos individuales en una matriz sean observables. - RP Niemeyer

Cambié a eso. Gracias por el consejo. - Jake Pearson

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.