ejs浏览器端使用问题?
路由代码如下
app.get('/test', function (req, res) {
res.render('test',{"arr":['lzy','dophin','ejs']});
})
ejs代码大致如下
<% for(var i in arr){ %>
<li><%= arr[i] %></li>
<% } %>
<script id="template" type="text/template">
<% for(var i in arr){ %>
<li><%= arr[i] %></li>
<% } %>
</script>
如果直接这样的话template也会被解释
我希望template不会被解释,所以我的想法是在script外面加上外套
<%-
<script id="template" type="text/template">
<% for(var i in arr){ %>
<li><%= arr[i] %></li>
<% } %>
</script>
%>
但是浏览器报错说
请问如何解决问题?
yamoe
9 years, 6 months ago
Answers
灵机一动,解决了。
代码如下:
<% for(var i in arr){ %>
<li><%= arr[i] %></li>
<% } %>
<script src="js/ejs.min.js"></script>
<script src="js/jquery.min.js"></script>
<script id="template" type="text/template">
{{ for(var i in arr){ }}
<li>{{= arr[i] }}</li>
{{ } }}
</script>
<script type="text/javascript">
ejs.open = '{{';
ejs.close = '}}';
var template = $('#template').html();
var dom = ejs.render(template,{"arr":['lzy','dophin','ejs']});
$("body").append(dom);
</script>
shuin
answered 9 years, 6 months ago