¿Cómo acceder al `$index` en una plantilla compilada: {name: 'xyz', foreach: ArrayItens}?

Yo uso el Núcleo tool to compile the following template:

<tr>
    <td>
        <input 
            data-bind="value: Tipo, attr: { name: 'Telefones[' + $index + '].Tipo' }" 
            class="span2"
            placeholder="Tipo" 
            type="text">
        <input 
            data-bind="value: Id" 
            type="hidden">
        <input 
            data-bind="value: Ordem"
            type="hidden">
    </td>
    <td>
        <input 
            data-bind="phone: Numero, value: Numero"
            class="span2" 
            placeholder="Número" 
            type="text">
    </td>
    <td>
        <button data-bind="click: deletePhone" rel="nofollow">
            <i class="icon-trash"></i>
        </button>
    </td>
</tr>

En mi vista:

<tbody data-bind="template: { name: 'rowTelefone', foreach: Telefones }"></tbody>

Pregunta

I know KnockoutJS supports the $index, but when the template is compiled $index ya no existe.

¿Cómo puedo acceder al $index in compiled template?

preguntado el 28 de agosto de 12 a las 14:08

has probado $index()? $index is an observable (a function), so to read its value you need the parens() -

my thoughts exactly, $index is a computed observable - if it doesn't help, you probably have to dig into the rendered code. -

0 Respuestas

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