2016-12-07 50 views
0

下面是EJS代码,我有问题扩大 'MyTemplate的' 变量:EJS模板扩张<%= %>

<% for(var i = 0 ; i < largeObject.elementArray.length; ++i) {%> 
    <%-largeObject.elementArray[i].myTemplate%> 
<%}%> 

低于 'MyTemplate的' 字符串的例子:

largeObject.elementArray[i].myTemplate = '<%=largeObject.elementArray[i].variable_1 + largeObject.elementArray[i].variable_7 + largeObject.elementArray[i].variable_12%>' 

largeObject.elementArray[i].myTemplate = '<%=largeObject.elementArray[i].variable_1 + largeObject.elementArray[i].variable_5 + largeObject.elementArray[i].variable_14%>' 

这是因为'myTemplate'变量派生是公平的复杂,因此是一个预先计算的字符串 - 但那么现在如何扩展'myTemplate'字符串。

我的EJS知​​识很基础 - 我可能会错过一些技术上正确的术语来解释这个问题。

+0

它不是上述的重复,因为我没有看到EJS扩张问题上都存在。重新配置这篇文章的标题以说清楚。 – npr

+0

@npm - 尝试提供[mcve] – Quentin

+0

@quentin - 为了清晰起见添加了几个示例。 – npr

回答

0

虽然计算'myTemplate'变量 - 我不得不做ejs.render(模板,数据)。

largeObject.elementArray[i].myTemplate = ejs.render(complex_template,dataObject) 

然后按原样在for循环中分配'myTemplate'。

下面是EJS代码,我有问题扩大“MyTemplate的”变量:

<% for(var i = 0 ; i < largeObject.elementArray.length; ++i) {%> 
    <%-largeObject.elementArray[i].myTemplate%> 
<%}%>