Come creare una funzione helper di Handlebars

Ciao,

Voglio creare una nuova funzione di supporto che possa essere utilizzata in tutta l’applicazione. Non sono sicuro di come creare una funzione di supporto.

Allo stesso modo, ho provato da solo a creare una funzione di supporto, ma non funziona.

Per favore, trova il mio codice.

Mi riferisco a questa funzione di supporto nel file .hbr. Per favore, trova lo screenshot allegato.

Per favore, suggeriscimi.

Grazie
Kumar

Qualcuno può aiutarmi con questo?

Hai visto la Guida per sviluppatori per i temi di Discourse?

Di solito guardo temi o plugin esistenti per trovare esempi.

MODIFICA: Ma se sei fortunato, @Johani fornirà una risposta davvero ponderata e utile. E sei fortunato!

3 Mi Piace

Il tuo codice dovrebbe funzionare, ma stai usando il tuo helper

{{sample}}

nel template senza passargli alcun argomento. Anche se stai testando per vedere se le cose funzionano, passagli una stringa di test come

{{sample "some string"}}

Devi farlo perché stai usando l’helper in un template hbr grezzo. A scopo di test, l’helper dovrebbe funzionare anche se non gli passi nulla nei template hbs normali.

Se stai creando un helper di blocco, allora ha bisogno di # e devi chiuderlo così.

{{#sample}}

{{/sample}}

Aggiungere ~ al tuo helper opzionalmente rimuove gli spazi bianchi tra eventuali tag HTML restituiti. Quindi

{{~#sample}}

{{/sample}}
6 Mi Piace

Grazie mille per la tua risposta. Ora funziona tutto correttamente.

1 Mi Piace

Ciao,

Grazie per la tua risposta. Mi stai aiutando molto.

Sì, ho già consultato la documentazione, i temi esistenti e alcuni esempi, e ho creato questo progetto di esempio. Ma non sono sicuro di come chiamare la funzione helper nel file handlebar. Ci ho provato in diversi modi, e non ha funzionato. Ecco perché ho postato qui.

Grazie
Kumar

1 Mi Piace

La tua domanda ha aiutato anche me, grazie a @Johani! Di conseguenza, mi occuperò di rifattorizzare parte del mio codice.

2 Mi Piace