Comment créer une fonction d'aide Handlebars

Salut,

Je souhaite créer une nouvelle fonction d’aide qui puisse être utilisée dans toute l’application. Je ne suis pas sûr de la manière de créer une fonction d’aide.

De même, j’ai essayé moi-même de créer une fonction d’aide, mais cela ne fonctionne pas.

Veuillez trouver mon code.

Je fais référence à cette fonction d’aide dans le fichier .hbr. Veuillez trouver la capture d’écran ci-jointe.

S’il vous plaît, suggérez-moi.

Merci
Kumar

Quelqu’un peut-il m’aider avec ça ?

Avez-vous vu le Guide du développeur pour les thèmes Discourse ?

Ce que je fais habituellement, c’est regarder les thèmes ou plugins existants pour trouver des exemples.

EDIT : Mais si vous avez de la chance, @Johani fournira une réponse vraiment réfléchie et utile. Et vous avez de la chance !

3 « J'aime »

Votre code devrait fonctionner, mais vous utilisez votre helper

{{sample}}

dans le template sans lui passer d’arguments. Même si vous testez pour voir si les choses fonctionnent, passez-lui une chaîne de test comme

{{sample "some string"}}

Vous devez le faire parce que vous utilisez le helper dans un template hbr brut. À des fins de test, le helper devrait fonctionner même si vous ne lui passez rien dans les templates hbs normaux.

Si vous créez un helper de bloc, il doit avoir # et vous devez le fermer comme ceci.

{{#sample}}

{{/sample}}

L’ajout de ~ à votre helper supprime facultativement les espaces blancs entre les balises HTML qu’il renvoie. Donc

{{~#sample}}

{{/sample}}
6 « J'aime »

Merci beaucoup pour votre réponse. Cela fonctionne maintenant correctement,

1 « J'aime »

Salut,

Merci pour votre réponse. Vous m’aidez beaucoup.

Oui, j’ai déjà parcouru la documentation, les thèmes existants et quelques exemples, et j’ai créé ce projet d’exemple. Mais je ne suis pas sûr de la façon d’appeler la fonction d’aide dans le fichier handlebar. J’ai essayé de plusieurs manières, et cela n’a pas fonctionné. C’est pourquoi j’ai posté ici.

Merci
Kumar

1 « J'aime »

Votre question m’a aussi aidé, merci à @Johani ! Je vais en profiter pour refactoriser une partie de mon code.

2 « J'aime »