2014-04-07 24 views
5

Czy istnieje sposób, w jaki mogę (bez modyfikowania źródeł wąsów) wyłączyć wychodzenie HTML? Używam wąsy do innych rzeczy i nie chcę, aby następujące jednostki uciekły.Wąsy: Globalnie wyłączyć ucieczkę html?

var entityMap = { 
    "&": "&", 
    "<": "&lt;", 
    ">": "&gt;", 
    '"': '&quot;', 
    "'": '&#39;', 
    "/": '&#x2F;' 
}; 

Biorąc szablon jak foo '{{bar}}' i widok { bar : 1 } będzie produkować foo &#39;1&#39.

+0

Co powiesz na uruchomienie metody "descaping" po pełnym załadowaniu strony? – Knerd

Odpowiedz

18

To naprawdę proste, mustache oferuje funkcję escape, która ma być nadpisana. Poniższy wiersz wyłącza szablony ucieczki przed wąsami.

mustache.escape = function (value) 
{ 
    return value; 
}; 
20

Jeśli próbujesz po prostu NIE HTML uciec pewne ciągi, wystarczy zrobić {{{xx}}} zamiast {{xx}}

Jak na:

http://mustache.github.io/mustache.5.html

Więc jeśli miał ciąg, który składał się z:

testu => Q &

Wywołanie z:

{{test}} 

dałby wam:

Q &amp; A 

..ale dzwoniąc z:

{{{test}}} 

dałby ci po prostu:

q & a 
+2

Dzięki za odpowiedź, ale nie chodzi o placeholder. Mój problem polega na tym, że również wymyka się całemu szablonowi. – codevour

+0

W jaki sposób envoking szablon? Działa to dobrze dla mnie przy użyciu lokalnego szablonu (wewnątrz **