Tengo un Manillar de la plantilla, que se representa mediante un objeto json. En este json yo soy el envío de una matriz. Como este:

var json = {
               "array":["abc","def","ghi","jkl"] 
}

Ahora en mi plantilla, quiero encontrar la longitud de esta matriz. Algo así como:

{{#each item}}
   {{ array.length }}
{{/each}}

No se pudo encontrar en el Manillar de la documentación.

InformationsquelleAutor Abhidev | 2013-03-15

5 Comentarios

  1. 164

    Mi Mala….

    {{array.length}} efectivamente trabajadas dentro de la plantilla. Debe tener activada/probado antes de publicarlo aquí.

    • bien, usted me salvó de tener que probarlo, así que gracias. 🙂
    • No es trabajo para mí 🙁
    • Esto no funciona, al menos para Mandriles sabor de manillar para cualquier persona que está preguntando. Todavía no he encontrado un reemplazo adecuado.
  2. 32

    En este caso, usted necesita para hacer referencia a la variable primaria de la cada de dentro de cada bloque:

    {{#each array}}
        {{../array.length}}
    {{/each}}

    Creo que la variable se denomina «matriz» es probablemente confundir la cuestión. Supongamos que algunos de los diferentes JSON solo para aclarar:

    var json = {
        "fruit":["apple","orange","banana"]
    };

    Así que, a continuación, hacer esto:

    <ul>
        {{#each fruit}}
            <li>{{this}} {{@index}} {{../fruit.length}}</li>
        {{/each}}
    </ul>

    Daría:

    <ul>
        <li>apple 0 3</li>
        <li>orange 1 3</li>
        <li>banana 2 3</li>
    </ul>
    • Creo que los elementos de la lista sería apple 0 3 orange 1 3 banana 2 3
    • usted está en lo correcto, ejemplo actualizado para reflejar la salida correcta.
    • Relacionadas con la pregunta: ¿cómo se puede obtener la longitud de una matriz cuando se trata de la actual tubería de valor?
    • Sintácticamente, esta respuesta tiene más sentido que el aceptado respuesta.
  3. 2

    Puede definir ayudante de manejarlo:

    Handlebars.registerHelper('get_length', function (obj) {
     return obj.length;
    });   

    Y, a continuación, utilizar en su plantilla, por ejemplo:

    {{get_length some_object}}
  4. 1

    Si son pruebas para una lista vacía con el fin de mostrar el contenido…
    En Ember.js que utiliza el manillar, que puede tener una persona para el #cada uno.

    {{#each blah as |blah|}}
    
    {{else}}
     //  If array is empty
    {{/each}}

Dejar respuesta

Please enter your comment!
Please enter your name here