2012-01-25 13 views

Respuesta

11

creé el siguiente ayudante, pero tengo curiosidad si hay una solución mejor que hay.

Handlebars.registerHelper('toLowerCase', function(value) { 
    if(object) { 
     return new Handlebars.SafeString(value.toLowerCase()); 
    } else { 
     return ''; 
    } 
}); 
+3

¿para qué usar 'SafeString' aquí? Cualquier HTML debería ser escapado. –

+11

dentro de la declaración if, está buscando una variable no declarada de "objeto", de todos modos, creo que podría reescribirse en una sola línea 'return (value && typeof value === 'string')? value.toLowerCase(): ''; ' –

20

Si usted está tratando de mostrar algún texto como en minúsculas en HTML (independientemente de si es o no es generada por el manillar), puede utilizar CSS y aplicar text-transform así:

.css-class-here { 
    text-transform: lowercase; 
} 
+3

o lo contrario: .all-caps { text-transform: mayúscula; } – rmcsharry

8

respuesta anterior de @Eric parece no funcionar ahora, mi solución es muy similar, pero probablemente la definición de ayudantes cambió un poco en las nuevas versiones del manillar:

Handlebars.registerHelper('tolower', function(options) { 
    return options.fn(this).toLowerCase(); 
}); 

y en la plantilla

<img src="/media/images/modules/{{#tolower}}{{name}}{{/tolower}}.png"... 

Saludos

+2

Bueno, pero usar un bloqueador de herramientas es excesivo y hace que la plantilla sea más difícil de leer. Creo que la respuesta de Cyril es mejor. – Lambart

56

Como se explica simplemente en el doc:

Handlebars.registerHelper('toLowerCase', function(str) { 
    return str.toLowerCase(); 
}); 

Y sólo lo utilizan como esto:

<h1>By {{toLowerCase author}}</h1> 
2

no hace daño a también verifique y asegúrese de que sea una cadena y si no devuelve nada.

Handlebars.registerHelper('lowercase', function (str) { 
    if(str && typeof str === "string") { 
    return str.toLowerCase(); 
    } 
    return ''; 
}); 

Uso:

// now let's pass a string or variable to our helper 
{{lowercase 'MY NAME IS'}} 

Salida:

my name is 
Cuestiones relacionadas