Cómo crear una función auxiliar de Handlebars

Hola,

Quiero crear una nueva función de ayuda que pueda usarse en toda la aplicación. No estoy seguro de cómo crear una función de ayuda.

Asimismo, intenté crear una función de ayuda por mi cuenta, pero no funciona.

Por favor, revisa mi código.

Me refiero a esta función de ayuda en el archivo .hbr. Por favor, revisa la captura de pantalla adjunta.

Por favor, hazme una sugerencia.

Gracias
Kumar

¿Alguien puede ayudarme con esto?

¿Viste la Guía para desarrolladores de temas de Discourse?

Lo que suelo hacer es buscar ejemplos en temas o plugins existentes.

EDITAR: Pero si tienes suerte, @Johani proporcionará una respuesta realmente reflexiva y útil. ¡Y tienes suerte!

3 Me gusta

Tu código debería funcionar, pero estás usando tu helper

{{sample}}

en la plantilla sin pasarle ningún argumento. Incluso si estás probando para ver si las cosas funcionan, pásale una cadena de prueba como

{{sample "some string"}}

Necesitas hacer eso porque estás usando el helper en una plantilla hbr sin formato. Para fines de prueba, el helper debería funcionar incluso si no le pasas nada en las plantillas hbs normales.

Si estás creando un helper de bloque, entonces necesita # y debes cerrarlo así.

{{#sample}}

{{/sample}}

Agregar ~ a tu helper opcionalmente elimina los espacios en blanco entre las etiquetas HTML que devuelve. Así

{{~#sample}}

{{/sample}}
6 Me gusta

Muchas gracias por tu respuesta. Ya funciona correctamente.

1 me gusta

Hola,

Gracias por tu respuesta. Me estás ayudando mucho.

Sí, ya he revisado la documentación, los temas existentes y algunos ejemplos, y he creado este proyecto de muestra. Pero no estoy seguro de cómo llamar a la función auxiliar en el archivo handlebar. Lo intenté de varias maneras y no funcionó. Por eso, lo publiqué aquí.

Gracias
Kumar

1 me gusta

Tu pregunta también me ayudó, ¡gracias a @Johani! Como resultado, voy a refactorizar parte de mi código.

2 Me gusta