Come decodificare l'entità HTML con i manubri
-
11-12-2019 - |
Domanda
Sto usando il manubrio Templating Engine sull'app che sto costruendo per rendere i dati che ottengo dal server.
So che sfugge ai valori HTML per impostazione predefinita e che devi utilizzare le staffe triple {{{text}}}
in ordine per il rendering text: <p>Example</p>
come elemento HTML.
Il problema è che cosa faccio se i dati che ricevo, inclusi i tag HTML, è già scappato?
Allora, se ricevo dati come:
text: <p>Example</p>
.
Come costringere i manubri a tradurlo e renderlo come normale html?
Soluzione
Devi decodificarlo prima, quindi passarlo al manubrio con parentesi triple.Conosco un piccolo suggerimento per decodificare entità HTML con JQuery:
// encoded is "<p>Example</p>" in your example
var decoded = $('<textarea />').html(encoded).val();
// decoded should now return <p>Example</p>
. Altri suggerimenti
Manubri fornisce aiuto e scrivi un aiutante personalizzato come segue sotto manubrio_helpers.js
.
Handlebars.registerHelper('encodeMyString',function(inputData){
return new Handlebars.SafeString(inputData);
});
E utilizzare questo aiutante nei file .handlebar
o nei file .hbs
come segue
.
{{encodeMyString myHTMLData}}
senza aiuto di jQuery puoi usarlo qualsiasi dove all'interno del manubrio. Anche puoi usare l'aiutante per passare i dati da soli e che restituiranno i dati con tag predisero e aggiunti.