2012-06-27 13 views
8

Ho JSON come questo:Baffi interno del href

{ "something": "http://something.com" } 

e HTML come questo:

<a href="{{something}}">{{something}}</a> 

Quando applico Baffo, ottengo

<a href="%7B%7Bsomething%7D%7D">http://something.com</a> 

Ma quello che sono cercando di ottenere è

<a href="http://something.com">http://something.com</a> 

Ho già provato {{{ something}}}, {{& something}}, virgolette singole, doppi apici ... Ho letto anche la documentazione.

Potete aiutarmi?

+0

Qui sono anche necessarie tre parentesi graffe per evitare l'escape di ": //" – Evgeny

risposta

4

Assicurati che l'origine del modello sia di testo normale: non tentare di acquisire il codice sorgente HTML analizzato come modello. I browser eseguono l'urlencode/escape di quei caratteri nel tuo link href e generano quelli %7Bs e %7Ds che vedi nel tuo codice. I baffi non lo riconosceranno.

Suppongo che la funzione di escape che si passa ai baffi potrebbe non funzionare.

Mustache.render(unescape(source),view) 
+0

Grazie! In verità l'aiuto di Unescaping è stato di aiuto. Si scopre che stavo usando jQuery per fare qualche trasformazione con template prima di darlo in pasto a Mustache (ho praticamente fatto qualcosa di simile: $ ("{{something}}")), ecco perché questo pezzo di HTML è sfuggito – Evgeny

9

Penso che avete bisogno di fare uso della & per fuggire in combinazione con circonda il vostro modello con uno script per i modelli:

<script type="text/template" id="tmpl"> 
    <a href="{{& something }}">{{ something }}</a> 
</script> 

trovato questo esempio over here.