2012-04-27 17 views
5

Mam następujący kod w nodejs (czytałem plik temp.ejs i inne treści, jak ejsHtml jako ciąg):Rendering EJS szablon

var html = EJS.render(ejsHtml, { A: '<div>smth</div>' }); 

I temp.ejs:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
    <title></title> 
</head> 
<body> 
     <%= A %> 
</body> 
</html> 

Wyjście:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
    <title></title> 
</head> 
<body> 
     &lt;div&gt; smth &lt;/div&gt; 
</body> 
</html> 

Proszę mi powiedzieć jak dostać HTML i nie że

Odpowiedz

19

do wyprowadzania uciekł html, to należy wykonać następujące czynności:

<%= code %> 

Do wyjściowego przed zmianą html, należy użyć następującego

<%- code %> 
+0

Dziękuję bardzo tehlulz :) – karaxuna

+0

to nie wydaje się działać. Używam can.js – Adgezaza

+0

działa dobrze ze mną, woopidoo. – kaore

1

użyłem podkreślenia, aby mi pomóc. Tylko <%= lub <%- nie działa.

<%- _.unescape(data.textWithHtml) %> 
+0

Działa to również z częściami. W moim konkretnym przypadku użyłem [ejs-mate] (https://github.com/JacksonTian/ejs-mate) – iwatakeshi